0

プログラムで LinearLayout のボタンを作成しています。以下のコードを参照してください。

My LinearLayout in my .xml file :

<LinearLayout
            android:id="@+id/outerRelativeLayout_relativeLayout2_making_dynamically"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal" >
</LinearLayout>

プログラムで次のようなボタンを作成しています:

LinearLayout outerRelativeLayout = (LinearLayout) findViewById(R.id.outerRelativeLayout_relativeLayout2_making_dynamically);
Button imgBtn = new Button(MyActivity.this);


imgBtn.setId(Integer.parseInt(c.getString(0)));

LinearLayout.LayoutParams imageViewParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);

imageViewParams.setMargins(0, 10, 10, 10);

outerRelativeLayout.addView(imgBtn, imageViewParams);

ここでc.getString(0);は、値が 1、2、3 などのローカル データベースから取得されることを意味します。

添付画像のように見えるこのlyout: ここに画像の説明を入力

上の画像のオレンジ色は LinearLayout で、丸はプログラムで作成されたボタンです。

今私がやりたいこと:丸いボタンをクリックすると、そのボタンに白い四角形が作成され、どのボタンが選択されているかを言及するようにViewなります。誰でもその方法を教えてもらえますか? 私の問題をよく説明してください....

例: 3 番目のボタン (画像の緑色の丸い a) をクリックすると... この画像のように見えるはずで、現在緑色の丸いボタンが選択されていることを示しています。

ここに画像の説明を入力

4

1 に答える 1

0

1つの解決策は次のとおりです。

プログラムで行う代わりに、ボタンに通常とオンクリックの 2 つの画像を配置できます。

ボタンをクリックすると画像が変わります。

例えば:

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/button" android:state_focused="true" android:state_pressed="false"/>
<item android:drawable="@drawable/buttonclick" android:state_focused="true" android:state_pressed="true"/>
<item android:drawable="@drawable/buttonclick" android:state_focused="false" android:state_pressed="true"/>
<item android:drawable="@drawable/button"/>

 </selector>

またはそれ以外:

プログラムで座標を変更して正方形にするだけです。

しかし、私は最初のソリューションを使用することを好みます。

于 2013-09-25T12:12:56.860 に答える