//MyLinearLayout
public class MyLinearLayout extends LinearLayout { private TextView textView1, textView2; private ImageView imageView; public MyLinearLayout(Context context) { this(context, null); } public MyLinearLayout(Context context, @Nullable AttributeSet attrs) { this(context, attrs, 0); } public MyLinearLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); LayoutInflater.from(context).inflate(R.layout.my_linearlayout, this, true); textView1 = (TextView) findViewById(R.id.text1); textView2 = (TextView) findViewById(R.id.text2); imageView = (ImageView) findViewById(R.id.image1); TypedArray attributes = context.obtainStyledAttributes(attrs, R.styleable.CustomTitleBar); int color = attributes.getColor(R.styleable.CustomTitleBar_title_background, Color.BLACK); textView2.setTextColor(color); attributes.recycle(); } }
//在values下创建一个attrs
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="CustomTitleBar"> <attr name="title_background" format="color"/> </declare-styleable> </resources>//my_linearlayout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#acd4c0"> <TextView android:id="@+id/text1" android:layout_marginLeft="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:layout_centerVertical="true" android:text="全部" /> <TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:layout_centerInParent="true" android:text="圈子" /> <ImageView android:id="@+id/image1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:src="@mipmap/ic_launcher" /> </RelativeLayout> </LinearLayout>//在main.xml中调用控件
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.dell.wangyouwei20170921_3.MainActivity"> <com.dell.wangyouwei20170921_3.MyLinearLayout android:layout_width="match_parent" android:layout_height="match_parent"></com.dell.wangyouwei20170921_3.MyLinearLayout> </RelativeLayout>