我正在尝试在framelayout中使用scrollview。 滚动视图应该只显示在显示屏的下半部分。
目前定位正确:
http://www.gtv-handball.de/Unbenannt.png
如您所见,正确的区域是可以分解的。 但问题是,上部不能再被点击,导致滚动视图超出此部分。
要在下半部分显示滚动视图,我在其上放了一些填充:
scrollviwe = (ScrollView)findViewById(R.id.linlayout);
scrollview.setPadding(0, 175, 0, 0);
所以我没有找到任何方法来使用填充选项显示它。
我认为,没有办法设置滚动视图的边距, 但是我该怎么做?
以下是完整但缩短的XML代码:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/framelayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="top|left" >
<ImageView
android:id="@+id/coverimg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="top|left"
android:maxHeight="100dp"
android:minHeight="130dp"
android:minWidth="130dp"
android:src="@drawable/cover_img" />
</FrameLayout>
<ScrollView
android:id="@+id/linlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/linlayout2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/teilen"
style="ButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_blue"
android:gravity="center_vertical|center_horizontal"
android:padding="4dp"
android:text="Teilen"
android:layout_margin="4dp"
android:layout_weight="1" />
<Button
android:id="@+id/kaufen"
style="ButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_blue"
android:gravity="center_vertical|center_horizontal"
android:padding="4dp"
android:text="Kaufen"
android:layout_margin="4dp"
android:layout_weight="1"/>
<Button
android:id="@+id/youtube"
style="ButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_blue"
android:gravity="center_vertical|center_horizontal"
android:padding="4dp"
android:text="YouTube"
android:layout_margin="4dp"
android:layout_weight="1" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Zuletzt gehört:" />
</LinearLayout>
</ScrollView>
</FrameLayout>
答案 0 :(得分:1)
您是否尝试过使用RelativeLayout?如果我正确理解您的目标,则可以更轻松地管理屏幕上的所有不同视图,因为您可以相对于彼此或屏幕边框对齐视图。它也可以与FrameLayouts类似的方式使用,以将视图叠加在一起。
答案 1 :(得分:0)
我建议你换一个线性布局。因为它更容易管理使用权重在屏幕上占用多少空间。
你可以尝试一下。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1" >
<LinearLayout
android:id="@+id/framelayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top|left"
android:layout_weight="0.5"
android:orientation="horizontal"
android:weightSum="1">
<ImageView
android:id="@+id/coverimg"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="top|left"
android:maxHeight="100dp"
android:minHeight="130dp"
android:minWidth="130dp"
android:src="@drawable/ic_launcher"
android:layout_weight="0.5" />
<LinearLayout android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.5">
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Add Text"/>
<!-- Add other views -->
</LinearLayout>
</LinearLayout>
<ScrollView
android:id="@+id/linlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5" >
<LinearLayout
android:id="@+id/linlayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/teilen"
style="ButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:layout_weight="1"
android:gravity="center_vertical|center_horizontal"
android:padding="4dp"
android:text="Teilen" />
<Button
android:id="@+id/kaufen"
style="ButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:layout_weight="1"
android:gravity="center_vertical|center_horizontal"
android:padding="4dp"
android:text="Kaufen" />
<Button
android:id="@+id/youtube"
style="ButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:layout_weight="1"
android:gravity="center_vertical|center_horizontal"
android:padding="4dp"
android:text="YouTube" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Zuletzt gehört:" />
</LinearLayout>
</ScrollView>
</LinearLayout>
答案 2 :(得分:0)
尝试将边距或填充设置为ScrollView外部的视图。在这种情况下,它将是FrameLayout。