为什么我的导航箭头将文本隐藏在后台?

时间:2014-09-22 15:34:21

标签: android xml android-activity

我在我的活动的xml中有这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/jokeIcon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:contentDescription="@string/app_name"
        />

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/jokeIcon" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/allJokesTxt"
                style="?android:textAppearanceMedium"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:gravity="center"
                android:lineSpacingMultiplier="1.2"
                android:padding="16dp" />

        </LinearLayout>
    </ScrollView>
    <ImageView
        android:id="@+id/jokeprev"
        android:src="@drawable/backarrow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:contentDescription="@string/app_name"
        />
    <ImageView
        android:id="@+id/jokenext"
        android:src="@drawable/nextarrow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:contentDescription="@string/app_name"
        />
</RelativeLayout>

正如您所看到的,我在底部有2个图像视图。问题是2个箭头重叠滚动视图内容。它看起来像这样:

screen

我将放置正确的箭头大小,但此时箭头只是与scrollView重叠。

我知道我错过了一些非常小的东西,我想念一些关于xml设计的基础知识。你能帮我推吗?

2 个答案:

答案 0 :(得分:1)

问题是scrollview设置为填充父级。这就是按钮与滚动视图重叠的原因。诀窍是添加

android:layout_above="@+id/jokeprev

到scrollview。这样滚动视图将始终位于按钮上方。

很高兴它有效。

答案 1 :(得分:0)

您正在使用相对布局,因此组件是叠加的。 做这样的事情:

<linearLayout   android:orientation="vertical"
     ...
     ... >

    <ImageView>
       ...
       ... 
    </ImageView>

    <ScrollView   android:layout_weight="1"
       ...
       ... >
    </ScrollView>

    <LinearLayout  android:orientation="horizontal" 
       ...
       ... >
          <ImageView LEFT  />

          <ImageView RIGHT />

   </LinearLayout>


</LinearLayout>