我尝试通过ImageView将图像添加到布局,并将ImageView的布局重力设置为center_vertical
。但是这会将图像的中心放置在布局的垂直中心。相反,我希望图像的底部位于布局的垂直中心。这可能吗?
谢谢大家再次帮忙!!
答案 0 :(得分:0)
假设您正在使用RelativeLayout,您可以做的是创建1dp by 1dp View(让我们称之为spacer_view)并将其垂直居中于父级。
然后你可以拍摄你的ImageView和" align_bottom"使用spacer_view。
<View
android:id="@+id/spacer_view"
android:layout_width="1dp"
android:layout_height="1dp"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
<ImageView
android:id="@+id/my_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/spacer_view" />
答案 1 :(得分:0)
Tajonny07给出的答案将是我认为最好和最简单的方法。
但是,如您所建议的那样,无法使用FrameLayout完成此操作。这是因为android:layout_centerHorizontal
和android:layout_centerVertical
是FrameLayout中的无效参数。 RelativeLayout在大多数情况下都能很好地完成工作,具体取决于您所做的工作。是FrameLayout
你正在申请的是什么?
答案 2 :(得分:0)
请尝试这种方式,希望这有助于您解决问题。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="bottom|center_horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_launcher"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
</LinearLayout>
</LinearLayout>