我正在尝试将颜色设置为带有绿色和红色的正负按钮,并为按钮中的文本设置一些字体。能不能让我知道如何做到这一点?
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 :(得分:0)
可能有两种方法可以完成你所追求的目标。
1)使按钮成为自定义布局的一部分。
您可能需要创建普通Dialog
而不是AlertDialog
,以防止自动添加按钮。
2)设置AlertDialog
后尝试进行修改。
您可以在创建AlertDialog
后通过调用getButton(int)
并传入指示正,负和中性按钮的常量来获取默认按钮。从那以后,您应该能够根据颜色等方式设置按钮的样式。
设置自定义字体可能会稍微难以实现这种方式。您可以尝试将按钮文本设置为TextAppearanceSpan
或TypefaceSpan
并将其传递给相关按钮,但是从内存中它们仅支持平台字体。扩展任何一个也支持从例如加载某些字体文件并不是太棘手。资产文件夹,但你必须自己做一些令人费解的事情。
选项1肯定会给你最大的灵活性,可能需要更少的摆弄。我可能会走这条路。