自定义的TitleBar

先来看看布局吧 :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/backround"
    android:layout_width="match_parent"
    android:layout_height="64dp"
    android:background="#f00">

    <LinearLayout
        android:id="@+id/rel_back"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:layout_marginLeft="15dp"
        android:minWidth="80dp"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/icon"

            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:gravity="center_vertical" />

        <TextView
            android:id="@+id/left_tv"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:gravity="center_vertical"
            android:textColor="#fff"
            android:textSize="14sp" />
    </LinearLayout>

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textColor="#fff"
        android:textSize="16sp" />

    <RelativeLayout
        android:id="@+id/rel_setting"
        android:layout_width="80dp"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:visibility="gone">

        <ImageView
            android:id="@+id/right_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="30dp"
            android:src="@mipmap/icon_tab_home_n"
            android:visibility="gone" />

        <TextView
            android:id="@+id/right_tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="30dp"
            android:gravity="right"
            android:text="设置"
            android:textColor="#fff"
            android:textSize="14sp" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/rel_rightmiddle"
        android:layout_width="80dp"
        android:layout_height="match_parent"
        android:layout_toLeftOf="@+id/rel_setting"
        android:gravity="right"
        android:visibility="gone">

        <ImageView
            android:id="@+id/right1_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:src="@mipmap/icon_tab_home_n" />

        <TextView
            android:id="@+id/right1_tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:gravity="right"
            android:text="哈哈"
            android:textColor="#fff"
            android:textSize="14sp"
            android:visibility="gone" />
    </RelativeLayout>


</RelativeLayout>
接下来就是代码:



package com.example.myapplication.ui;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.example.myapplication.R;

import org.w3c.dom.Text;


/**
 * Created by 徐嘉健 on 2018/11/21.
 */

public class TitleBar extends RelativeLayout {
    private ImageView icon;
    private RelativeLayout backround;
    private TextView left_tv;
    private TextView title;
    private ImageView right_icon;
    private LinearLayout rel_back;
    private RelativeLayout rel_setting;
    private RelativeLayout rel_rightmiddle;
    private TextView right_tv;
    private ImageView right1_icon;
    private TextView right1_tv;

    public TitleBar(Context context) {
        super(context);
    }

    public TitleBar(Context context, AttributeSet attrs) {
        super(context, attrs);
        LayoutInflater.from(context).inflate(R.layout.view_title_layout, this);
        backround = findViewById(R.id.backround);
        rel_back = findViewById(R.id.rel_back);
        icon = findViewById(R.id.icon);
        left_tv = findViewById(R.id.left_tv);
        title = findViewById(R.id.title);
        right_icon = findViewById(R.id.right_icon);
        rel_setting = findViewById(R.id.rel_setting);
        rel_rightmiddle = findViewById(R.id.rel_rightmiddle);
        right_tv = findViewById(R.id.right_tv);
        right1_icon = findViewById(R.id.right1_icon);
        right1_tv = findViewById(R.id.right1_tv);

    }

    /**
     * 左侧Rel接口回掉
     *
     * @param listener
     */
    public void setLeftClickListener(OnClickListener listener) {
        rel_back.setOnClickListener(listener);
    }

    /**
     * 中间Rel接口回掉
     *
     * @param listener
     */
    public void setMiddleTileClickListener(OnClickListener listener) {
        title.setOnClickListener(listener);
    }

    /**
     * 右侧Rel接口回掉
     *
     * @param listener
     */
    public void setRightTilteClickListener(OnClickListener listener) {
        rel_setting.setOnClickListener(listener);
    }

    /**
     * 右中册接口
     */
    public void setRightMiddleClickListener(OnClickListener listener) {
        rel_rightmiddle.setOnClickListener(listener);

    }


    /**
     * 设置背景颜色
     */
    public void setBackround(int color) {
        backround.setBackgroundColor(color);
    }

    /**
     * 左侧的图片
     *
     * @param image
     */
    public void setLeftImage(int image) {
        icon.setImageResource(image);
    }

    /**
     * 左侧的文字
     *
     * @param str
     */
    public void setLeftText(String str) {
        left_tv.setText(str);
    }

    /**
     * 左侧的文字颜色
     */
    public void setLeftTextColor(int color) {
        left_tv.setTextColor(color);
    }

    /**
     * 左侧的文字大小
     */
    public void setLeftTextSize(int size) {
        left_tv.setTextSize(size);
    }

    /**
     * 中间标题的文字
     */
    public void setMiddleText(String msg) {
        title.setText(msg);
    }

    /**
     * 中间标题的文字颜色
     */
    public void setMiddleTextColor(int color) {
        title.setTextColor(color);
    }

    /**
     * 中间标题的文字大小
     */
    public void setMiddleTextSize(int size) {
        title.setTextSize(size);
    }

    /**
     * 设置右侧图片
     */
    public void setRightImage(int img) {
        right_icon.setImageResource(img);
        right_tv.setVisibility(GONE);
        right_icon.setVisibility(VISIBLE);
    }

    /**
     * 右侧文字
     */
    public void setRightTv(String str) {
        right_tv.setText(str);
        right_tv.setVisibility(VISIBLE);
        right_icon.setVisibility(GONE);
    }

    /**
     * 右侧文字大小
     */
    public void setRightTvSize(int Size) {
        right_tv.setTextSize(Size);
    }

    /**
     * 右侧文字颜色
     */
    public void setRightTvColor(int color) {
        right_tv.setTextColor(color);
    }

    /**
     * 右中侧图片
     */
    public void setRightMiddleImag(int img) {
        right1_icon.setImageResource(img);
        right1_icon.setVisibility(VISIBLE);
        right1_tv.setVisibility(GONE);
    }

    /**
     * 右中侧文字
     */
    public void setRightMiddleTv(String str) {
        right1_tv.setText(str);
        right1_icon.setVisibility(GONE);
        right1_tv.setVisibility(VISIBLE);
    }

    /**
     * 右中侧文字大小
     */
    public void setRightMiddleTvSize(int size) {
        right1_tv.setTextSize(size);
    }

    /**
     * 右中侧文字颜色
     */
    public void setRightMiddleTvColor(int color) {
        right1_tv.setTextColor(color);
    }

    /**
     * 右侧布局显示
     */
    public void setRightVisible() {
        rel_setting.setVisibility(VISIBLE);
    }

    /**
     * 右中侧显示
     */
    public void setRightMiddleVisible() {
        rel_rightmiddle.setVisibility(VISIBLE);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值