1

我嘗試使用綠色和紅色顏色將顏色設置爲正面和負面按鈕,併爲按鈕中的文本設置一些字體。你能不能讓我知道如何做到這一點?AlertDialog按鈕 - 如何設置顏色並將文本字體更改爲+ ve和-ve按鈕

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; 
} 
} 

回答

0

有可能有兩種方法來完成你的事情。

1)將按鈕設置爲自定義佈局的一部分。

您可能必須創建一個普通的Dialog而不是AlertDialog以防止自動添加按鈕。

2)嘗試在設置AlertDialog後進行修改。

通過調用getButton(int)創建AlertDialog並傳入指示正,負和中性按鈕的常量,可以獲得默認按鈕。從那裏你應該能夠按照顏色等方式設置按鈕的樣式。

設置自定義字體可能稍微難以用這種方式完成。您可以嘗試將按鈕文本設置爲TextAppearanceSpanTypefaceSpan並將其傳遞給相關按鈕,但是從內存中它們只支持平臺字體。擴展其中任何一個以支持加載某些字體文件並不太棘手。資產文件夾,但你必須自己做一些令人費解的事情。


選項1一定會給你最大的靈活性,並可能需要更少的擺弄。我可能會沿着這條道路走下去。