2

緑と赤の色で正と負のボタンに色を設定し、ボタンのテキストにフォントを設定しようとしています。これを行う方法を教えてください。

public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()){
case R.id.bNewTicket:    
    // custom dialog 
    LayoutInflater li = LayoutInflater.from(context);
    final View promptsView = li.inflate(R.layout.homepagedialognewticket, null);
    AlertDialog.Builder alertDialogBuilder  = new AlertDialog.Builder(context); 
    alertDialogBuilder.setView(promptsView); 


    // set dialog message
    alertDialogBuilder.setPositiveButton("Go", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog,int id) { 

            }
          })
          .setNegativeButton("Back",new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog,int id) {  
            }
          });

    AlertDialog alertDialog = alertDialogBuilder.create(); 
    alertDialog.show();  
    break;  
}
}
4

1 に答える 1

0

あなたが求めていることを達成するには、おそらく2つのアプローチがあります。

1) ボタンをカスタム レイアウトの一部にします。

ボタンが自動的に追加されるのを防ぐのDialogではなく、プレーンを作成する必要がある場合があります。AlertDialog

2) の設定後に変更を試みAlertDialogます。

を作成した後、正、負、中立のボタンを示す定数をAlertDialog呼び出して渡すことにより、既定のボタンを取得できます。getButton(int)そこから、色などの点で好きなようにボタンのスタイルを設定できるはずです.

カスタム フォントの設定は、この方法で行うのが少し難しい場合があります。TextAppearanceSpanボタン テキストをorとして設定し、TypefaceSpanそれを関連するボタンに渡すこともできますが、メモリからはプラットフォーム フォントしかサポートされません。アセットフォルダーなどからのフォントファイルの読み込みもサポートするように拡張するのはそれほど難しいことではありませんが、自分でいくつかの不可解な作業を行う必要があります。


オプション 1 は間違いなく最大の柔軟性を提供し、おそらくいじる必要が少なくなります。多分この道を行くと思います。

于 2013-01-20T04:09:17.967 に答える