我在ListPreference
上遇到了一个奇怪的问题,即该对话框的对话框无法展开以适应所有可用的单选项目。而是显示滚动条,即使对话框可以完全增长以适合这两个项目。我在不兼容/不推荐使用的常规ListPreference
中使用了不兼容的常规PreferenceFragment
。不幸的是,目前我无法更改为兼容/支持库版本,因为这将导致巨大的重构。
对于同一PreferenceFragment
中的其他设置,对话框可以很好地展开,但是这些对话框中的选项只是一行。
代码:
strings.xml
<string name="dialog_title">ListPreference AlertDialog</string>
<string name="option_one">This is option 1. The text is long on purpose to demonstrate that the dialog does not expand.</string>
<string name="option_two">This is option 2. It also helps to demonstrate that the dialog has a scroll bar instead of expanding as expected.</string>
<string-array name="options">
<item>@string/option_one</item>
<item>@string/option_two</item>
</string-array>
<string-array name="optionsValues">
<item>one</item>
<item>two</item>
</string-array>
preferencescreen.xml
<ListPreference
android:entries="@array/options"
android:entryValues="@array/optionsValues"
android:key="optionsKey"
android:title="@string/option_one" />
我的问题:
只有在滚动条无法扩展以适合单选项目的情况下,才有办法使滚动条显示在对话框的列表视图中吗?
实现此目标的最佳方法是什么?
是否可以在不使用自定义版本覆盖AlertDialog和ListPreference的情况下进行此操作?
如何解决此问题而不影响应用程序中的其他对话框?