我正在尝试将图片放在LinearLayout
的上方,但我无法添加属性来执行此操作,现在我的布局如下:
我的目标是得到这个:
目标是将图像置于中心位置,但尝试避免边距和脏代码......
这是我的layout.xml
<FrameLayout 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:padding="@dimen/activity_horizontal_margin">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<pl.droidsonroids.gif.GifImageView
android:id="@+id/gifImageView"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:layout_width="@dimen/_270sdp"
android:layout_height="@dimen/_240sdp" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:gravity="center"
android:orientation="vertical"
android:padding="@dimen/activity_horizontal_margin">
<TextView
android:id="@+id/section_label"
style="@style/TextAppearance.AppCompat.Headline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
tools:text="Page One" />
<TextView
style="@style/TextAppearance.AppCompat.Body1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_horizontal_margin"
android:id="@+id/tv_description"
android:alpha="0.7"
android:gravity="center"
android:textColor="@android:color/white" />
</LinearLayout>
</FrameLayout>
此外,我想将图片添加到wrap_content
,但如果我这样做,则图片会显示在顶部和小部分
答案 0 :(得分:1)
如果您不将主布局更改为相对布局,请尝试以下代码。
<FrameLayout 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:padding="@dimen/activity_horizontal_margin">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/ll">
<pl.droidsonroids.gif.GifImageView
android:id="@+id/gifImageView"
android:layout_width="@dimen/_270sdp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:scaleType="fitXY" />
</FrameLayout>
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:gravity="center"
android:orientation="vertical"
android:padding="@dimen/activity_horizontal_margin">
<TextView
android:id="@+id/section_label"
style="@style/TextAppearance.AppCompat.Headline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
tools:text="Page One" />
<TextView
android:id="@+id/tv_description"
style="@style/TextAppearance.AppCompat.Body1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_horizontal_margin"
android:alpha="0.7"
android:gravity="center"
android:textColor="@android:color/white" />
</LinearLayout>
</RelativeLayout>
否则请试用此代码。
<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:padding="@dimen/activity_horizontal_margin">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/ll">
<pl.droidsonroids.gif.GifImageView
android:id="@+id/gifImageView"
android:layout_width="@dimen/_270sdp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:scaleType="fitXY" />
</FrameLayout>
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:gravity="center"
android:orientation="vertical"
android:padding="@dimen/activity_horizontal_margin">
<TextView
android:id="@+id/section_label"
style="@style/TextAppearance.AppCompat.Headline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
tools:text="Page One" />
<TextView
android:id="@+id/tv_description"
style="@style/TextAppearance.AppCompat.Body1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_horizontal_margin"
android:alpha="0.7"
android:gravity="center"
android:textColor="@android:color/white" />
</LinearLayout></RelativeLayout>