如何使AlertDialog List可滚动Android [重复]

Posted

技术标签:

【中文标题】如何使AlertDialog List可滚动Android [重复]【英文标题】:How to make a AlertDialog List scrollable Android [duplicate] 【发布时间】:2018-10-09 13:30:03 【问题描述】:

我在 AlertDialog 中有一个列表;

 public void thesaurusBtnAction()
    // setup the alert builder
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Synonyms List");

    // add a list
    String[] someList = "a", "b", "c", "d", "e","a","b";
    builder.setItems(someList, new DialogInterface.OnClickListener() 
        @Override
        public void onClick(DialogInterface dialog, int which) 
            switch (which) 
                case 0: 
                case 1:
                case 2:
                case 3:
                case 4:
            
        
    );

    // create and show the alert dialog
    AlertDialog dialog = builder.create();
    dialog.show();

我想将此处的列表设为可滚动列表,并将 AlertDialog 的大小限制为一定的大小,因为 AlertDialog 会随着列表的增长尝试增加其大小。

【问题讨论】:

我很糟糕,它是上述问题的副本。我认为如果我只是使用 setLayout() 调整大小,它将无法滚动。我会将其标记为重复 【参考方案1】:
 public void thesaurusBtnAction()
    // setup the alert builder
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Synonyms List");
    builder.setView(LayoutInflater.from(this).inflate(R.layout.dialoglayout,null));


    // create and show the alert dialog
    AlertDialog dialog = builder.create();
    dialog.show();

dialoglayout.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_>
<LinearLayout
    android:layout_
    android:layout_
    android:orientation="vertical"
    android:scrollbarAlwaysDrawVerticalTrack="true"
    android:scrollbars="vertical">
    <!--Any of your code-->
    <ListView
        android:layout_
        android:layout_></ListView>
</LinearLayout>

【讨论】:

问题是关于AlertDialog 的默认列表实现,而不是自定义视图 感谢您的回答,但正如@ADM 所说,这是关于默认列表实现的。【参考方案2】:

将布局包含在 ScrollView 中。在封闭的布局中,您可以将 android:scrollbars 设置为垂直。使用 builder.setView 在对话框中显示 ScrollView。

【讨论】:

我认为问题是关于 AlertDialog 的默认列表实现而不是自定义视图。 感谢您的回答,但正如@ADM 所说,这是关于默认列表实现

以上是关于如何使AlertDialog List可滚动Android [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使 Storyboard Scrollview 可滚动?

如何使整个页面可滚动?

如何隐藏滚动条并使内容可滚动? [复制]

如何使 Vuetify 应用栏可水平滚动

如何制作可滚动的mat-list

如何使 UIView 中的内容可滚动?