在Android中,是否可以自定义对话框的页眉布局(图标+文本)布局?或者我可以设置标题文本的自定义字符串值吗?
谢谢.
如何在扩展的DialogPreference中设置自定义样式?
public class AboutDialog extends DialogPreference {
public AboutDialog(Context oContext, AttributeSet attrs)
{
super(oContext,attrs);
//there is no such a thing like setBackground(int res_id)...
}
}
Run Code Online (Sandbox Code Playgroud)
并在xml中
<com.pak1.pak.About
android:key="key" android:title="@string/preferences_about"
android:dialogTitle="@string/preferences_about_title"
android:dialogIcon="@drawable/app_icon" android:negativeButtonText="@null"
android:positiveButtonText="@string/ok" />
Run Code Online (Sandbox Code Playgroud)
或者例如是否可以更改按钮的属性?
我有一个ok按钮,例如我想改变这个'ok'按钮的颜色,我该怎么做?
我只是spinner根据这个stackoverflow答案显示了多项选择(参见@Destil答案).这里我的问题是我无法通过多种选择来调整Spinner中项目的高度.如何重新调整每个项目的高度?
我创建了一个通用的OkCancelDialog类,可以通过静态方法在我的应用程序中方便地调用它:
static public void Prompt(String title, String message) {
OkCancelDialog okcancelDialog = new OkCancelDialog();
okcancelDialog.showAlert(title, message);
}
Run Code Online (Sandbox Code Playgroud)
由于各种原因,我需要活动中的onClick监听器,所以在我的活动中:
public void onClick(DialogInterface v, int buttonId) {
if (buttonId == DialogInterface.BUTTON_POSITIVE) { // OK button
// do the OK thing
}
else if (buttonId == DialogInterface.BUTTON_NEGATIVE) { // CANCEL button
// do the Cancel thing
}
else {
// should never happen
}
}
Run Code Online (Sandbox Code Playgroud)
这适用于应用程序中的单个对话框,但现在我想添加另一个确定/取消对话框,由同一活动处理.据我所知,只有一个onClick()可以为活动定义,所以我不知道如何实现这个.
有什么建议或提示吗?
我有一个想法但我不确定如何实现它
首先,我有一个对话框
final Dialog dialog = new Dialog(mContext);
Run Code Online (Sandbox Code Playgroud)
我也有一个布局
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textViewDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:text="Small Text"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/textViewWhen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我想要的是在对话框中添加此布局,我可能还想在该对话框中添加更多相同的布局,我该怎么做?
例如,如何在一个对话框中添加两个此布局?就像是
Dialog Title
Large Text
Small Text
Medium Text
Large Text
Small Text
Medium Text
Run Code Online (Sandbox Code Playgroud) 我需要在对话框中删除标题.注意我不需要一个空白的标题.我需要删除标题部分.以下是我的代码:
final Dialog dialog1=new Dialog(context);
dialog1.setContentView(R.layout.redeemvoucher_first);
dialog1.setCanceledOnTouchOutside(true);
dialog1.getWindow().setLayout(900,500);
dialog1.show();
Run Code Online (Sandbox Code Playgroud) 我有这个对话框类,我想将图标设置为其标题:
public class DialogMealInformation extends Dialog implements
android.view.View.OnClickListener {
Context context;
private TextView tv_information;
private Button b_ok;
private String information;
public DialogMealInformation(Context context, String information) {
// TODO Auto-generated constructor stub
super(context);
this.context = context;
this.information = information;
setContentView(R.layout.dialog_meal_information);
getWindow().setLayout(android.view.ViewGroup.LayoutParams.FILL_PARENT,
android.view.ViewGroup.LayoutParams.WRAP_CONTENT);
setTitle("Info !");
initialize();
}
Run Code Online (Sandbox Code Playgroud)
它尝试这样:
setTitle(R.layout.dialog_simple_header);
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv_dialog_simple_header_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tv_information"
android:drawableLeft="@drawable/more_information" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
但之后的标题是"res/layout/dialog_simple_header.x"只是文字,没有出现图标,请问为什么,解决方案是什么,非常感谢
我想写一个函数,它会显示一个警告对话框,根据点击的按钮返回布尔值
private Boolean ShowWarningMessageBox(String Title, String message)
{
boolean returnValue = false;
AlertDialog.Builder builder = new AlertDialog.Builder(
getApplicationContext());
builder.setTitle(Title);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
returnValue = true;
}
});
builder.setNegativeButton("Cancel",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
returnValue = false;
}
});
builder.show();
return returnValue;
}
Run Code Online (Sandbox Code Playgroud)
我已经编写了上面的函数,但问题是,Inner类将无法访问returnValue变量,因为它不是final.但是让它成为最终的并不符合我的目的.
我是ac#developer,我正在尝试在android中实现类似下面的内容
private DialogResult ShowWarningMessageBox(string errorMessage)
{
DialogResult result = MessageBox.Show(errorMessage,
Resources.WarningCaption.ToString(),
MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk,
MessageBoxDefaultButton.Button1);
return result;
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激
在我的Android应用程序中,我将应用程序的主题设置为
机器人:Theme.Holo.Light
我创建了对话框
final Dialog dialog = new Dialog(DropPicupProcess.this);
Run Code Online (Sandbox Code Playgroud)
但是当我在应用程序中弹出一个对话框时,它显示如下.

如何将对话框的主题更改为android:Theme.Holo.Light.
我是android的初学者,而不是为每个活动中的对话重复编写代码,我只是创建了一个包含显示对话框的所有方法的类,我已经给出了小代码片段
public class Dialogues extends Activity implements DialogueMethods {
public void showAlertDialog(Context context, String title, String message) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);
alertDialog.setTitle(title);
alertDialog.setMessage(message);
alertDialog.show();
}
//this method am calling
public void showAlertDialog(Context context, String title, String message, String ButtonText, boolean cancel) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);
alertDialog.setTitle(title);
alertDialog.setMessage(message);
if(cancel) {
alertDialog.setNegativeButton(ButtonText, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
finish();
}
});
}
alertDialog.show();
}
}
Run Code Online (Sandbox Code Playgroud)
我在打电话
//dialogObj is instance of the above …Run Code Online (Sandbox Code Playgroud)