1,首先画出布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:id="@+id/rl_bg"
android:layout_height="match_parent">
<ImageView
android:id="@+id/img_left"
android:layout_width="45dp"
android:layout_height="45dp"
android:background="@mipmap/ic_launcher"
/>
<TextView
android:id="@+id/title_name_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="标题名称"
android:layout_centerInParent="true"
/>
<ImageView
android:id="@+id/img_right"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_alignParentRight="true"
android:background="@mipmap/ic_launcher"
/>
</RelativeLayout>
2,代码
package com.pdz.com.myview.com.pdz.view;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.pdz.com.myview.R;
/**
* Created by ${cwj} on 2017/7/17.
* 描述: 组合控件
*/
public class TitleView extends RelativeLayout {
private ImageView mLeftIv, mRightIv;
private TextView titleNameTv;
private RelativeLayout relativeLayout;
public TitleView(Context context, AttributeSet attrs) {
super(context, attrs);
//加载布局
LayoutInflater.from(context).inflate(R.layout.title_view, this);
//获取控件
mLeftIv = findViewById(R.id.img_left);
mRightIv = findViewById(R.id.img_right);
relativeLayout = findViewById(R.id.rl_bg);
titleNameTv = findViewById(R.id.title_name_tv);
}
//给左侧的 控件 设置返回 事件
public void setFinshOnClickListener(OnClickListener clickListener) {
mLeftIv.setOnClickListener(clickListener);
}
/**
* 设置标题名称
*
* @param name
*/
public void setTitleName(String name) {
titleNameTv.setText(name);
}
/**
* 设置字体颜色
*
* @param color
*/
public void setTitleNameColor(int color) {
titleNameTv.setTextColor(color);
}
/**
* 设置字体大小
*
* @param size
*/
public void setTitleNameSize(float size) {
titleNameTv.setTextSize(size);
}
/**
* 设置标题颜色
*
* @param color
*/
public void setTitleBgColor(int color) {
relativeLayout.setBackgroundColor(color);
}
/**
* 更换背景图片
*
* @param img
*/
public void setmRightIv(Bitmap img) {
mRightIv.setImageBitmap(img);
}
/**
* 更换左边背景图片
*
* @param img
*/
public void setmLeftIv(Bitmap img) {
mLeftIv.setImageBitmap(img);
}
/**
* 隐藏右边图片
*
* @param ishint true是显示,flash 是隐藏。
*/
public void hintRightIc(boolean ishint) {
if (ishint) {
mRightIv.setVisibility(VISIBLE);
} else {
mRightIv.setVisibility(GONE);
}
}
}
3,使用。
直接在XML布局中 把TitleView和平时一样使用就好了。
需要什么方法直接调用。或者自己添加需要的方法、