Android 如何获取带有四个选定图像的警报对话框

Android 如何获取带有四个选定图像的警报对话框,android,Android,我想创建对话框按钮,如附加的图像。 在此对话框中,将显示四个图像供选择 你必须使用android.App.Dialog 比如说 final Dialog dialog = new Dialog(this, R.style.cust_dialog); dialog.setContentView(R.layout.your_xml); dialog.setTitle("Your title"); dialog.setCancelable(false); dial

我想创建对话框按钮,如附加的图像。 在此对话框中,将显示四个图像供选择


你必须使用android.App.Dialog

比如说

  final Dialog dialog = new Dialog(this, R.style.cust_dialog);
    dialog.setContentView(R.layout.your_xml);
    dialog.setTitle("Your title");
    dialog.setCancelable(false);
    dialog.show();
   Button d_btn_ok = (Button) dialog.findViewById(R.id.btnOk);
   Button d_btn_cancel = (Button) dialog.findViewById(R.id.btnCancel);

   ImageView image1 = (ImageView) dialog.findViewById(R.id.image1);
   image1.setImageDrawable(getResources().getDrawable(R.drawable.address));

   ImageView image2 = (ImageView) dialog.findViewById(R.id.image2);

   ImageView image3 = (ImageView) dialog.findViewById(R.id.image3);

   ImageView image4 = (ImageView) dialog.findViewById(R.id.image4);
使xml具有ImageView和所需内容

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_gravity="center"
android:background="@color/lightest_grey"
android:theme="@style/AppTheme">

<TextView
    android:id="@+id/tvMsg"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="18sp"
    android:gravity="center"
    android:text="Msg" />


<LinearLayout
    android:id="@+id/linearImage1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="20dp"
    android:layout_below="@+id/tvMsg"
    android:weightSum="2">

    <ImageView
        android:id="@+id/image1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/image2"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />


</LinearLayout>

<LinearLayout
    android:id="@+id/linearImag2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="20dp"
    android:layout_below="@+id/linearImage1"
    android:weightSum="2">

    <ImageView
        android:id="@+id/image3"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/image4"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />


</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="20dp"
    android:layout_below="@+id/linearImag2"
    android:weightSum="2">

    <Button
        android:id="@+id/btnOk"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@color/colorAccent"
        style="?android:attr/buttonBarButtonStyle"
        android:text="Yes"
        android:textColor="@color/white" />

    <Button
        android:id="@+id/btnCancel"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:layout_marginLeft="2dp"
        android:layout_marginStart="2dp"
        style="?android:attr/buttonBarButtonStyle"
        android:background="@color/colorAccent"
        android:text="No"
        android:textColor="@color/white" />

</LinearLayout>


您必须使用android.App.Dialog

比如说

  final Dialog dialog = new Dialog(this, R.style.cust_dialog);
    dialog.setContentView(R.layout.your_xml);
    dialog.setTitle("Your title");
    dialog.setCancelable(false);
    dialog.show();
   Button d_btn_ok = (Button) dialog.findViewById(R.id.btnOk);
   Button d_btn_cancel = (Button) dialog.findViewById(R.id.btnCancel);

   ImageView image1 = (ImageView) dialog.findViewById(R.id.image1);
   image1.setImageDrawable(getResources().getDrawable(R.drawable.address));

   ImageView image2 = (ImageView) dialog.findViewById(R.id.image2);

   ImageView image3 = (ImageView) dialog.findViewById(R.id.image3);

   ImageView image4 = (ImageView) dialog.findViewById(R.id.image4);
使xml具有ImageView和所需内容

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_gravity="center"
android:background="@color/lightest_grey"
android:theme="@style/AppTheme">

<TextView
    android:id="@+id/tvMsg"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="18sp"
    android:gravity="center"
    android:text="Msg" />


<LinearLayout
    android:id="@+id/linearImage1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="20dp"
    android:layout_below="@+id/tvMsg"
    android:weightSum="2">

    <ImageView
        android:id="@+id/image1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/image2"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />


</LinearLayout>

<LinearLayout
    android:id="@+id/linearImag2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="20dp"
    android:layout_below="@+id/linearImage1"
    android:weightSum="2">

    <ImageView
        android:id="@+id/image3"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/image4"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />


</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="20dp"
    android:layout_below="@+id/linearImag2"
    android:weightSum="2">

    <Button
        android:id="@+id/btnOk"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@color/colorAccent"
        style="?android:attr/buttonBarButtonStyle"
        android:text="Yes"
        android:textColor="@color/white" />

    <Button
        android:id="@+id/btnCancel"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:layout_marginLeft="2dp"
        android:layout_marginStart="2dp"
        style="?android:attr/buttonBarButtonStyle"
        android:background="@color/colorAccent"
        android:text="No"
        android:textColor="@color/white" />

</LinearLayout>


您可以在对话框内使用Gridview显示带选择的图像,请尝试

拨号箱:

  final Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.layout_dialog);

    GridView gridView = (GridView)dialog.findViewById(R.id.dialog_gv);
    gridView.setAdapter(new DialogBaseAdapter());
    dialog.setTitle("Your title");
    dialog.setCancelable(true);
    dialog.show();
对话框视图xml

<?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="vertical">

<GridView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:numColumns="2"
    android:stretchMode="columnWidth"
    android:columnWidth="72dp"
    android:id="@+id/dialog_gv"
    android:horizontalSpacing="2dp"
    android:verticalSpacing="2dp"></GridView>

</LinearLayout>
对话框网格适配器项xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="96dp"
android:orientation="vertical">


<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/app_header_color"
    android:src="@drawable/arrow" />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true" />
</RelativeLayout>

您可以在对话框中使用Gridview显示带有选择的图像,请尝试此操作

拨号箱:

  final Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.layout_dialog);

    GridView gridView = (GridView)dialog.findViewById(R.id.dialog_gv);
    gridView.setAdapter(new DialogBaseAdapter());
    dialog.setTitle("Your title");
    dialog.setCancelable(true);
    dialog.show();
对话框视图xml

<?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="vertical">

<GridView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:numColumns="2"
    android:stretchMode="columnWidth"
    android:columnWidth="72dp"
    android:id="@+id/dialog_gv"
    android:horizontalSpacing="2dp"
    android:verticalSpacing="2dp"></GridView>

</LinearLayout>
对话框网格适配器项xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="96dp"
android:orientation="vertical">


<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/app_header_color"
    android:src="@drawable/arrow" />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true" />
</RelativeLayout>


我必须在何处放置图像以及如何创建一个包含4个图像视图的layout.ixml文件,并在Java活动中对其进行初始化,就像我在按钮示例中所做的那样。请参阅更新的回答此R.style.cust_对话框是什么?这是我必须在其中放置图像的自定义对话框的样式,以及如何创建包含4个图像视图和视图的layout.ixml文件在Java活动中初始化它,就像我在按钮示例中所做的那样。请参阅更新的回答这是什么R.style.cust_对话框?这是自定义对话框TestCircularView的样式。这是什么?如果我给出上下文,它给出了错误表达式Expected未获得错误,请共享更多详细信息,它应该是activity context.TestCircularView.this?如果我给的是context,它给的是错误表达式Expected没有得到你的错误,请分享更多细节,它应该是activity context。