直接上代码,大家在以后的开发中根据实际需求可以做一些修改。
/**
* Created by 杨阳洋 on 2016/12/9.
*/
public class TitleLayout extends LinearLayout {
private Button mBtn_back;
private Button mBtn_next;
public TitleLayout(Context context) {
this(context,null);
}
public TitleLayout(Context context, AttributeSet attrs) {
this(context, attrs,0);
}
public TitleLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
//参数2:是给加载好的布局再添加一个父布局
LayoutInflater.from(context).inflate(R.layout.title,this);
initData();
initListener();
}
private void initData() {
mBtn_back = (Button) findViewById(btn_back);
mBtn_next = (Button) findViewById(btn_next);
}
private void initListener() {
mBtn_back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
((Activity)getContext()).finish();
}
});
mBtn_next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(), R.string.app_name , Toast.LENGTH_SHORT).show();
}
});
}
}
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_bg"
android:orientation="horizontal">
<Button
android:id="@+id/btn_back"
android:layout_width="20dp"
android:layout_gravity="center"
android:layout_height="20dp"
android:layout_marginLeft="5dp"
android:background="@drawable/ic_back"
android:gravity="center"/>
<TextView
android:id="@+id/title_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:layout_gravity="center_vertical"
android:text="@string/title"
android:textSize="20sp"/>
<Button
android:id="@+id/btn_next"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginRight="5dp"
android:layout_gravity="center"
android:background="@drawable/ic_back01"
android:gravity="center"/>
</LinearLayout>