带有滚动视图的android自定义对话框将按钮从屏幕上移开
我有一个像这样的布局的自定义对话框:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/mylayout">
<LinearLayout
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView ... />
<TextView .../>
</LinearLayout>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/title">
<LinearLayout ...>
<TextView ...
android:text="lots of text........" />
<TextView .../>
</LinearLayout>
</ScrollView
<RelativeLayout ...
android:layout_below="@+id/scrollView">
<Button ...>
<Button ...>
</RelativeLayout>
</RelativeLayout>
我的问题是,滚动视图是当滚动视图中的文本太多时,下面的按钮被压出对话框。 我已经能够通过使用android:layout_alignParentBottom =“true”将包含按钮的RelativeLayout锚定到底部来阻止它,但是当scrollview中的文本较少时,我会将整个对话框拉伸到屏幕底部,并且我不想那样。
我怎样才能得到这样的布局:
[SOME TEXT]
[Scrollable region]
[Buttons]
尝试使用LinearLayout
而不是RelativeLayout
将按钮放置在单独的布局中,并在按钮布局上加上重量。
LinearLayout - top level start, android:layout_weight="0"
LinearLayout with TextViews embeded, android:layout_weight="1"
LinearLayout with ScrollView embeded, android:layout_weight="1"
LinearLayout with Buttons embeded, android:layout_weight="1"
LinearLayout - top level finish, android:layout_weight="0"
尽管这个问题有点古怪,但对我来说这是有帮助的。 希望这可以帮助别人,因为我花了相当长的一段时间来跟踪。
alertDialogBuilder.setMessage(null);
链接地址: http://www.djcxy.com/p/93173.html
上一篇: android custom dialog with scrollview pushes buttons off the screen