0

ここでドキュメントを見ています:http: //developer.android.com/guide/topics/ui/dialogs.html#PassingEvents

そして、それらの例はすべて、OK | の外観や配置を完全に変更したいという開発者の潜在的な欲求を見落としているようです。ボタンをキャンセルします。

DialogFragment を使用したソリューションが近づいているように感じますが、コールバックを簡単にアタッチできるように、アクティビティのどのビューを [OK] ボタンにするかを定義する明確な方法はまだありません。

私は何が欠けていますか?それとも、AlertDialog または DialogFragment を拡張するもので、ボタンの外観と位置を操作することは本当に不可能なのでしょうか?

4

1 に答える 1

2

独自のカスタム レイアウトを使用Dialogおよび追加して、その中のすべてのビューの外観を制御できます。これを行う方法の例を次に示します。

final Dialog alert = new Dialog(FingerPaintActivity.this, android.R.style.Theme_Light_Panel);
alert.requestWindowFeature(Window.FEATURE_NO_TITLE); // no title 
alert.getWindow().getAttributes().windowAnimations = R.style.PauseDialogAnimation; // this is used for custom animation when dialog is showing and hiding 
alert.setContentView(getLayoutInflater().inflate(R.layout.stamps, null)); // here is your custom layout
alert.getWindow().setLayout(width-50, (height-100)); // set height / width

次のように、ビュー(ボタンなど)に設定リスナーを使用できます。

Button myOkBtn = (Button) alert.findViewById(R.id.myOkBtn);
myOkBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

        }
    });
于 2013-02-06T20:27:56.423 に答える