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(); } } }
时间: 2024-10-29 19:09:51