1

オンとオフのようにボタンを切り替えたいボタンがあります。必要なのは、2つの背景画像があることです。

ボタンを初めてタップすると、最初の背景画像が実行され、2回目にはトグルボタンのように2番目の背景画像が変更されます。

私はアンドロイドが初めてなので、誰か助けてください。

これは私の活動です:

public class MainActivity extends Activity {

    private Button Button1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button1 = (Button) findViewById(R.id.Button1);
        Button1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                v.setBackgroundResource(R.drawable.ic_launcher);

            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}  

ありがとう。

4

4 に答える 4

1

次のコードでドローアブルに xml ファイルを作成し、ボタンの背景をこのドローアブルに変更します。

customButton.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="false" android:drawable="@drawable/image_not_pressed">      </item>
    <item android:state_pressed="true" android:drawable="@drawable/image_pressed"></item>
</selector>

次に、画像に背景を追加します

<ImageView
    android:layoutWidth="wrap_content"
    android:layoutWidth="wrap_content"
    android:background="@drawable/customButtom" />
于 2013-11-13T13:44:21.797 に答える
0

メソッドで ImageButton の表面の画像を変更するImageButton代わりに使用します。ButtonsetImageResource(int)

于 2013-11-13T13:36:38.467 に答える
0

setTag を使用してそれを行うことができます。

まず>

Button1.setTag("ON");

次に、onclicklistener にこれを追加します。

if (v.getTag().toString().equals("ON")) {
            v.setTag("OFF");
             v.setBackgroundResource(R.drawable.ic_launcher);
        }else {
            v.setTag("ON");
             v.setBackgroundResource(R.drawable.ic_launcher2);
        }
于 2013-11-13T13:30:20.880 に答える
0

setSelectedの状態を維持し、クリックしているかどうかを確認することでButton画像を変更できますisSelectedButton

使ってみて

Button button = new Button(this);

        button.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View v)
            {
                if (v.isSelected())
                {
                  v.setSelected(false);
                }
                else
                {
                  v.setSelected(true);
                }
            }
        });

これがうまくいくかどうか教えてください。

于 2013-11-13T13:28:05.250 に答える