在我的T-mobile移动中,对话框有黑色的背景和黑色的文本-不好。
在模拟器上,所有对话框都有白色背景和黑色文本。
如何解决这个问题?为什么会发生这种情况?我应该显式设置对话框的背景吗?
发布于 2013-03-18 17:25:11
正如Royston所说,你必须自定义对话框。要删除黑角,请使用下面的超级行(context,android.R.style.Theme_Translucent_NoTitleBar);
而不是定制样式。自定义对话框的简单示例如下所示
public class customDialog extends Dialog implements android.view.View.OnClickListener{
Context context = null;
public customDialog(Context context, String etc ) {
super(context, android.R.style.Theme_Translucent_NoTitleBar);
this.context = context;
setBasicContents();
}
private void setBasicContents() {
this.setContentView(R.layout.custom_dialog);
this.findViewById(R.id.btn_ok).setOnClickListener(this);
this.findViewById(R.id.btn_cancel).setOnClickListener(this);
((RelativeLayout)this.findViewById(R.id.img_bg_tranperant)).
setBackgroundColor(Color.argb(166, 0, 0, 0));
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_ok:
anythingyouwant();
break;
case R.id.btn_cancel:
this.dismiss();
break;
default:
break;
}
}
}一条线
((RelativeLayout)this.findViewById(R.id.parent_layout)).
setBackgroundColor(Color.argb(166, 0, 0, 0));很重要。它采用对话框xml父布局,并将其背景设置为小透明。所以当用户看到对话框时,后面的屏幕会变暗一点。除了对话框上的布局之外,xml还将包含两个按钮和一个用于显示消息的textView。您可以根据自己的需求定制这个自定义类和xml。
谢谢,
发布于 2013-03-18 13:42:21
基本上,如果你在安卓中使用默认的Dialog,那么由于每个供应商都为他们的对话框设置了颜色和背景,所以它们看起来会不同。例如,三星对话框与默认的Nexus设备对话框完全不同。
最好的办法是为对话框定义自己的颜色和主题,使其在所有设备上看起来都是一样的。否则,准备好迎接一个新的外观对话框,因为供应商希望它被显示出来。
https://stackoverflow.com/questions/15470133
复制相似问题