Android 我想创建一个可滚动的对话框?

Android 我想创建一个可滚动的对话框?,android,android-alertdialog,Android,Android Alertdialog,可能重复: 在我的项目中,有一些按钮。每当我单击一个按钮时,它都会显示一个带有该按钮描述的警报对话框。我已经用string.xml编写了描述。每当我单击按钮时,它都会从string.xml获取描述并显示给我们。但我的问题是,我的消息(将显示在对话框中)太长。因此,我希望使用可滚动的alertdialog box。如果不使用创建另一个xml文件,java代码中怎么可能出现这种情况 您可以使用setView方法自定义对话框,并将自定义视图应用于对话框 AlertDialog.Builder ad

可能重复:


在我的项目中,有一些按钮。每当我单击一个按钮时,它都会显示一个带有该按钮描述的警报对话框。我已经用string.xml编写了描述。每当我单击按钮时,它都会从string.xml获取描述并显示给我们。但我的问题是,我的消息(将显示在对话框中)太长。因此,我希望使用可滚动的alertdialog box。如果不使用创建另一个xml文件,java代码中怎么可能出现这种情况

您可以使用setView方法自定义对话框,并将自定义视图应用于对话框

AlertDialog.Builder ad = new AlertDialog.Builder(this);
  ad.setIcon(R.drawable.icon);
  ad.setTitle("Instructions ...");
  **ad.setView(LayoutInflater.from(this).inflate(R.layout.instructions_dialog,null));**

  ad.setPositiveButton("OK", 
    new android.content.DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int arg1) {
      // OK, go back to Main menu
     }
    }
   );

   ad.setOnCancelListener(new DialogInterface.OnCancelListener(){
    public void onCancel(DialogInterface dialog) {
     // OK, go back to Main menu   
    }}
   );

我希望这会有所帮助。

这是一个例子。您可以根据自己的要求进行更改

您可以将此添加到按钮事件中

Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.alert);
Spinner spin = (Spinner)dialog.findViewById(R.id.spinner1);
Spinner spin2 = (Spinner)dialog.findViewById(R.id.spinner2);
EditText t1 =(EditText)dialog.findViewById(R.id.editText1);
EditText t2 =(EditText)dialog.findViewById(R.id.editText2);
EditText t3 =(EditText)dialog.findViewById(R.id.editText3);
EditText t4 =(EditText)dialog.findViewById(R.id.editText4);
dialog.show();
alert.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:id="@+id/widget54"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<EditText
    android:id="@+id/editText1"
    android:layout_width="211dp"
    android:layout_height="wrap_content"
    android:layout_x="10dp"
    android:layout_y="11dp"
     >

</EditText>

<EditText
    android:id="@+id/editText2"
    android:layout_width="208dp"
    android:layout_height="wrap_content"
    android:layout_x="19dp"
    android:layout_y="76dp"
   />

<EditText
    android:id="@+id/editText3"
    android:layout_width="208dp"
    android:layout_height="wrap_content"
    android:layout_x="20dp"
    android:layout_y="138dp"
  />

<EditText
    android:id="@+id/editText4"
    android:layout_width="212dp"
    android:layout_height="wrap_content"
    android:layout_x="18dp"
    android:layout_y="196dp"
    />

<Spinner
    android:id="@+id/spinner1"
    android:layout_width="222dp"
    android:layout_height="wrap_content"
    android:layout_x="5dp"
    android:layout_y="254dp" />

<Spinner
    android:id="@+id/spinner2"
    android:layout_width="225dp"
    android:layout_height="wrap_content"
    android:layout_x="2dp"
    android:layout_y="310dp" />

</LinearLayout>
</ScrollView>


Hi,您需要为此创建自定义对话框。您应该创建一个XML。并将文本视图写入ScrollView中。如果需要帮助,请询问我。可以选择带有滚动视图的自定义对话框。请在此处检查我的答案。我喜欢人们只是复制答案,而不是将问题标记为重复-