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

可能有两种方法可以完成您所追求的目标。

1) 使按钮成为自定义布局的一部分。

您可能必须创建一个普通的Dialog而不是AlertDialog防止自动添加按钮。

2)尝试在设置后进行修改AlertDialog

AlertDialog您可以在创建后通过调用getButton(int)并传入指示正、负和中性按钮的常量来获取默认按钮。从那里开始,您应该能够根据颜色等设置您喜欢的按钮样式。

以这种方式设置自定义字体可能会稍微困难一些。您可以尝试将按钮文本设置为TextAppearanceSpanorTypefaceSpan并将其传递给相关按钮,但从内存中它们仅支持平台字体。扩展其中之一以支持从例如资产文件夹加载一些字体文件并不是太棘手,但您必须自己在那里做一些令人费解的事情。


选项 1 肯定会给您最大的灵活性,并且可能需要更少的摆弄。我可能会走这条路。

于 2013-01-20T04:09:17.967 回答