Androidカスタムコントロールシリーズの基礎編
7822 ワード
一、概説
Android開発では多くのUIコントロールがアプリケーションのニーズを満たすためにカスタマイズされたり、より効果的になったりする必要があります.次に、一連のカスタマイズコントロールを紹介します.ここでは、いくつかのケースを通じて徐々に勉強します.このシリーズには典型的なアプリケーションがあります.皆さんも革新的にUIを開発することができます.今回は、カスタムコントロールでプロパティを定義する方法について、簡単なケースで基本的な知識を身につけます.
二、簡単なRadioButtonを実現する
1、作成タイプMRadioButton拡張RadioButton
2、MRadioButtonクラスで属性をカスタマイズする
コントロールで独自のプロパティを定義したり、複数のプロパティを定義したりすることができますが、set/getメソッド、すなわち仕様に従って書くことをカプセル化する必要があります.mValue属性のように、次のコードのように
3、カスタム属性にattrsを書く.xmlリソース
このリソースファイルはres/valuesディレクトリの下にあります.内容は次のとおりです.
4、MRadioButtonクラスで構造関数を定義し、属性を初期化する
5、MainActivityのレイアウトファイルにMRadioButtonコンポーネントを追加する.以下に示す.
6、MainActivityコード:
ラジオボタンをクリックするとhello情報が表示されます
作成者:
ジェリー教育
出典:
http://www.cnblogs.com/jerehedu/
本文の著作権は煙台ジェリー教育科学技術有限会社とブログ園に共有され、転載を歓迎するが、著者の同意を得ずにこの声明を保留し、文章のページの明らかな位置で原文の接続を与えなければならない.そうしないと、法律責任を追及する権利を保留する.
Android開発では多くのUIコントロールがアプリケーションのニーズを満たすためにカスタマイズされたり、より効果的になったりする必要があります.次に、一連のカスタマイズコントロールを紹介します.ここでは、いくつかのケースを通じて徐々に勉強します.このシリーズには典型的なアプリケーションがあります.皆さんも革新的にUIを開発することができます.今回は、カスタムコントロールでプロパティを定義する方法について、簡単なケースで基本的な知識を身につけます.
二、簡単なRadioButtonを実現する
1、作成タイプMRadioButton拡張RadioButton
public class MRadioButton extends RadioButton {
…
}
2、MRadioButtonクラスで属性をカスタマイズする
コントロールで独自のプロパティを定義したり、複数のプロパティを定義したりすることができますが、set/getメソッド、すなわち仕様に従って書くことをカプセル化する必要があります.mValue属性のように、次のコードのように
private String mValue;
public String getmValue() {
return mValue;
}
public void setmValue(String mValue) {
this.mValue = mValue;
}
3、カスタム属性にattrsを書く.xmlリソース
このリソースファイルはres/valuesディレクトリの下にあります.内容は次のとおりです.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MRadioButton">
<! – -->
<attr name="value" format="string" />
</declare-styleable>
</resources>
4、MRadioButtonクラスで構造関数を定義し、属性を初期化する
public MRadioButton(Context context) {
super(context);
}
public MRadioButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MRadioButton(Context context, AttributeSet attrs) {
super(context, attrs);
// attrs.xml ’ .MRadioButton’ declare-styleable
TypedArray tArray = context.obtainStyledAttributes(attrs, R.styleable.MRadioButton);
// value mValue
this.mValue = tArray.getString(R.styleable.MRadioButton_value);
// tArray
tArray.recycle();
}
5、MainActivityのレイアウトファイルにMRadioButtonコンポーネントを追加する.以下に示す.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:jereh="http://schemas.android.com/apk/res/com.jereh. view"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.zdyview.MainActivity" >
<com.itc.zidingyiview.MRadioButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mrb"
jereh:value="hello"
/>
</RelativeLayout>
6、MainActivityコード:
public class MainActivity extends Activity {
private MRadioButton rb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rb=(MRadioButton)super.findViewById(R.id.mrb);
rb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, rb.getmValue(),Toast.LENGTH_LONG).show();
}
});
}
}
ラジオボタンをクリックするとhello情報が表示されます
作成者:
ジェリー教育
出典:
http://www.cnblogs.com/jerehedu/
本文の著作権は煙台ジェリー教育科学技術有限会社とブログ園に共有され、転載を歓迎するが、著者の同意を得ずにこの声明を保留し、文章のページの明らかな位置で原文の接続を与えなければならない.そうしないと、法律責任を追及する権利を保留する.