自定义View

来源:互联网 发布:叶部长 工资 知乎 编辑:程序博客网 时间:2024/06/06 05:12

//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>


原创粉丝点击