我在我的活动的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个箭头重叠滚动视图内容。它看起来像这样:
我将放置正确的箭头大小,但此时箭头只是与scrollView重叠。
我知道我错过了一些非常小的东西,我想念一些关于xml设计的基础知识。你能帮我推吗?
答案 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>