gpt4 book ai didi

android - Lollipop中的DialogFragment按钮颜色变化

转载 作者:IT老高 更新时间:2023-10-28 23:18:19 24 4
gpt4 key购买 nike

我希望我的 Fragments 看起来与我应用的应用程序和调色板的其余部分保持一致,因此我不仅要更改标题的颜色,还要更改正/负按钮的颜色: enter image description here

我尝试这样做,但不幸的是它不起作用:

public void onStart() {
super.onStart();
Dialog d = getDialog();
int dividerId = d.getContext().getResources().getIdentifier("android:id/titleDivider", null, null);
View divider = d.findViewById(dividerId);

if(currentapiVersion< Build.VERSION_CODES.LOLLIPOP) {
divider.setBackgroundColor(getResources().getColor(R.color.accent));
LinearLayout ll = (LinearLayout) d.findViewById(R.id.dialog_background);
ll.setBackgroundResource(R.drawable.backrepeat_reversed);
}
if(currentapiVersion == Build.VERSION_CODES.LOLLIPOP) {
int buttonsId = d.getContext().getResources().getIdentifier("android:id/negativeButton", null, null);
Button b = (Button) d.findViewById(buttonsId);
b.setTextColor(getResources().getColor(R.color.accent));
}
int textViewId = d.getContext().getResources().getIdentifier("android:id/alertTitle", null, null);
TextView tv = (TextView) d.findViewById(textViewId);

tv.setTextColor(getResources().getColor(R.color.accent));
}

如何更改这些按钮的颜色?也许可以通过styles.xml文件在整个应用程序中做到这一点?

最佳答案

如果您可以使用 AlertDialog 创建对话框,则以下内容对我有用:

public class DialogTest extends DialogFragment {

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity()).setTitle("Test")
.setMessage("This is a dialog.")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub

}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub

}
}).show();
}

@Override
public void onStart() {
super.onStart();
((AlertDialog) getDialog()).getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.RED);
((AlertDialog) getDialog()).getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(Color.RED);
}
}

关于android - Lollipop中的DialogFragment按钮颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27912608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com