2

我正在尝试在框架布局中使用滚动视图。滚动视图应显示在显示屏的下半部分。

目前定位是对的:

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>
4

3 回答 3

1

您是否尝试过使用RelativeLayout?如果我正确理解您的目标,管理屏幕上的所有不同视图可能会更容易,因为您可以将视图相对于彼此或屏幕边框对齐。它也可以以与 FrameLayouts 类似的方式使用,将视图叠加在另一个之上。

于 2012-09-18T14:05:54.670 回答
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>
于 2012-09-18T14:00:45.347 回答
0

尝试为 ScrollView 之外的视图设置边距或填充。在这种情况下,它将是 FrameLayout。

于 2012-09-18T14:03:06.283 回答