自定义view的自定义属性的引用

attrs.xml(lib工程的话,该文件在lib工程如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="CalendarView">
       <attr name="firstDayOfWeek" format="integer" />
   </declare-styleable>
</resources>

自定义view的构造函数中获取改属性

                TypedArray a = context.getTheme().obtainStyledAttributes(attrs,
				R.styleable.CalendarView, 0, 0);
		firstDayOfWeek = a.getInteger(R.styleable.CalendarView_firstDayOfWeek, 0);

layout.xml(该文件在项目工程如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" 
  xmlns:app="http://schemas.android.com/apk/res/com.example.acalendarview">

	<com.fhc.calendar.view.CalendarView
	    android:id="@+id/calendar"
	    android:layout_width="match_parent"
	    android:layout_height="400dp"
	    app:firstDayOfWeek="0" />

</RelativeLayout>

需要注意

xmlns:app="http://schemas.android.com/apk/res/com.example.acalendarview"

以上com.example.acalendarview部分应该是当前项目的package名,另外需要注意的是如果当前custom view所在工程如果作为lib的话,那么在layout.xml使用的仍然是当前工程的package名称,而不是lib的package名。

你可能感兴趣的:(view,引用,自定义view,attrs,custom,custom,自定义属性)