在下面的布局中使用它时,我不能让我的相对layuot视图缩小,用作对话框。 在下面的示例中,如果实际内容不多,则scrollview会一直展开以填充整个对话框,看起来非常难看。
我尝试过大多数fill_parent,wrap_content等组合但没有成功。
问题似乎是将按钮设置为“align_bottom”将导致对话框填充其高度。但是如果我改变顺序并且必须将按钮放在滚动视图下面,那么如果显示很多内容,该按钮将不可见...
解决方法(我认为这是一个非常难看的解决方案)是在滚动视图上设置边距底部,然后在按钮上设置相同的负边距顶部。但我不确定这将如何看待不同的显示器。
请帮助/ Rudas
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ScrollView
android:id="@+id/ScrollView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/dialogCloseButton"
android:layout_alignParentTop="true" >
<LinearLayout
android:id="@+id/dialogContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="10dp" >
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</TextView>
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/dialogCloseButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Close" >
</Button>
</RelativeLayout><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ScrollView
android:id="@+id/ScrollView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/dialogCloseButton"
android:layout_alignParentTop="true" >
<LinearLayout
android:id="@+id/dialogContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="10dp" >
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</TextView>
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/dialogCloseButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Close" >
</Button>
</RelativeLayout>
答案 0 :(得分:0)
ScrollView是FrameLayout的特殊类型。这意味着它将始终从父布局的左上角开始。效果与其他视图重叠,RelativeLayout设置无效。解决方案是将StrollView放在单独的布局中(例如LinearLayout)。