我正在尝试使用AlertDialog
和Buttons
创建自定义的RadioGroup
。我希望将此背景图像保存在我的drawable中AlertDialog
。
AlertDialog.Builder alert = new AlertDialog.Builder(AutoGenerate.this);
alert.setTitle("Select color");
是否有其他选项,例如alert.setbackgrounddrawable(R.drawable.img)
?
答案 0 :(得分:2)
你可以使用布局文件来做到这一点。检查下面的代码
LayoutInflater inflater = (LayoutInflater) this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View dialoglayout = inflater.inflate(R.layout.dialog_layout, null);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(dialoglayout);
builder.show();
dialog_layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher" />
</LinearLayout>
您还可以在xml中使用不同的视图。
答案 1 :(得分:1)
自定义视图的自定义对话框。
Dialog d = new Dialog(AutoGenerate.this);
d.requestWindowFeature(Window.FEATURE_NO_TITLE);
d.setContentView(R.layout.alertdialog);// custom layour for dialog.
Button thankyou = (Button) d.findViewById(R.id.thankyou);
d.show();
alertdialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/dialog_layout_root"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:orientation="vertical"
android:padding="10dp"
>
<Button
android:id="@+id/thankyou"
android:layout_width="100dp"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:text="hello"
android:padding="5dp">
</Button>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
编辑:
rb= (RadioButton) findViewById(R.id.radioButton1);
rb.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showAlertDialog();
}
});
public void showAlertDialog() {
final Dialog d = new Dialog(MainActivity.this);
d.requestWindowFeature(Window.FEATURE_NO_TITLE);
d.setContentView(R.layout.alertdialog);
// Thank you Button Listener.
final TextView tv = (TextView) d.findViewById(R.id.textView1);
final Button thankyou = (Button) d.findViewById(R.id.thankyou);
thankyou.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent event) {
// TODO Auto-generated method stub
tv.setText("Button Clicked");
return true;
}
});
d.show();
}
答案 2 :(得分:0)
您可以将Icon设置为警告对话框,如下所示
alert.setIcon(R.drawable.image);
答案 3 :(得分:0)
答案 4 :(得分:0)
是的,有一个与AlertDialog一起使用的相对简单的变体:
// your code above
AlertDialog.Builder alert = new AlertDialog.Builder(AutoGenerate.this);
alert.setTitle("Select color");
// first show the dialog, then access its window and there set the background
alert.show();
alert.getWindow().setBackgroundDrawable(R.drawable.img);