Jun*_*ter 0 android-button android-dialogfragment
我要做的是更改我编写的自定义DialogFragment的默认背景.通常,我会通过更改XML布局文件来执行此操作,但是,对于DialogFragment,这些按钮在布局文件中不存在.
本质上,我试图访问setPositiveButton,setNegativeButton和setNeutral按钮以修改它们.或者,我接下来尝试通过id获取它们,但是,因为它们没有在布局文件中定义,所以我没有相应的id.我已经找到了很多如何修改其余布局的例子,但我找不到任何正/中性/负面按钮可以修改的地方.
理想情况下,我可以在下面的代码块中执行此操作:
.setPositiveButton(R.string.add, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
...
}
})
Run Code Online (Sandbox Code Playgroud)
提前致谢.
这是代码...按钮实例仅在创建对话框后有效.希望这对你有所帮助.
public static class CustomDialog extends DialogFragment
{
public static CustomDialog newInstance()
{
return new CustomDialog();
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
super.onCreateDialog(savedInstanceState);
Builder builder = new AlertDialog.Builder(getActivity());
AlertDialog dialog = builder.create();
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK",new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "CANCEL",new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
return dialog;
}
@Override
public void onStart()
{
super.onStart();
Button pButton = ((AlertDialog) getDialog()).getButton(DialogInterface.BUTTON_POSITIVE);
Button nButton = ((AlertDialog) getDialog()).getButton(DialogInterface.BUTTON_NEGATIVE);
pButton.setBackgroundColor(getResources().getColor(R.color.Blue));
nButton.setBackgroundColor(getResources().getColor(R.color.Green));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1465 次 |
| 最近记录: |