Android读取自定义View属性

Android读取自定义View属性

attrs.xml :

<?xml version="1.0" encoding="utf-8"?>
<resources>
   
    <declare-styleable name="MyView">
        <attr name="MyViewColor" format="color"/>
    </declare-styleable>
   
</resources>

activity_main.xml :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    android:background="@color/background"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.my.MyView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        fab:MyViewColor="@color/pink"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="16dp"/>
</RelativeLayout>

 

MyView.java :

public MyView(Context context, AttributeSet attrs) {
    super(context, attrs, defStyle);
    

    if (attrs!= null) {
      TypedArray attr = context.obtainStyledAttributes(attrs, R.styleable.MyView, 0, 0);
      if (attr != null) {
        try {
          mMyViewColor = attr.getColor(R.styleable.MyViewColor, getColor(android.R.color.white));
       
        } finally {
          attr.recycle();
        }
      }

  }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。