Androidはどのようにビューの属性をカスタマイズしますか?
この例では、Androidのカスタムビュー属性の方法を紹介します。
1.自分のビュークラスをカスタマイズしてViewから継承する
3.最後にレイアウトファイルを見て、私達が作成したカスタムビューを利用して属性を設定します。
1.自分のビュークラスをカスタマイズしてViewから継承する
public class MyView extends View
{
public MyView(Context context, AttributeSet attrs)
{
super(context, attrs);
//
TypedArray ta=context.obtainStyledAttributes(attrs, R.styleable.MyView);
int color=ta.getColor(R.styleable.MyView_rect_color, 0xffff0000);
setBackgroundColor(color);
// ta
ta.recycle();
}
public MyView(Context context)
{
super(context);
}
}
2.res/valuesディレクトリにatrs.xmlファイルを新規作成します。
<?xml version="1.0" encoding="utf-8"?>
<resources>
// declare-styleable , attr
<declare-styleable name="MyView">
<attr name="rect_color" format="color"/>
</declare-styleable>
</resources>
一つのアトト属性は、ビューの属性に対応しています。3.最後にレイアウトファイルを見て、私達が作成したカスタムビューを利用して属性を設定します。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
// MyView
xmlns:gu="http://schemas.android.com/apk/res/com.gu.myrect"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.gu.myrect.MyView
android:layout_width="100dp"
android:layout_height="100dp"
// attrs ,
gu:rect_color="#cc99cc" />
</LinearLayout>
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。