我想把地图的缩放控件放在屏幕的右下角。使用RelativeLayout,我可以使用alignParentBottom="true"
和alignParentRight="true"
属性实现,但是在Framelayout中,我没有找到类似的属性。如何将其与屏幕的右下角对齐?
实际上,尽管其他答案中说的与此不同,但这是可能的。如果您有一个 FrameLayout
,并且想要将子项定位到底部,则可以使用 android:layout_gravity="bottom"
,这将使该子项与 FrameLayout
底部对齐。
我知道它很有效,因为我正在使用它。虽然已经晚了,但这可能会对其他人有用,因为在谷歌上排名靠前。
我也遇到了这种情况,并且通过使用FrameLayout解决了它。 以下输出由下面给定的代码生成。
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/contactbook_icon"
android:layout_gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="140"
android:textSize="12dp"
android:textColor="#FFFFFF"
android:layout_gravity="bottom|right"
android:layout_margin="15dp" />
</FrameLayout>
更改边距值以调整文字在图像上的位置。有时候删除边距可能会使文本超出视图范围。可以使用RelativeLayout
来实现。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:src="@drawable/icon"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true" />
</RelativeLayout>
wrap_content
,那么它将无法正常工作。因为RelativeLayout会在整个屏幕上进行缩放。 - Yura Shinkarev对我起作用的是设置 android:layout_gravity="bottom|right"
有两种方法可以做到这一点:
1)使用Frame布局
android:layout_gravity="bottom|right"
2) 使用相对布局
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
如果您想尝试Java代码,这里提供给您:
final LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
yourView.setLayoutParams(params);
params.gravity = Gravity.BOTTOM; // set gravity
将bottom|right
作为元素的layout_gravity
值使用,即可使该元素对齐于父布局的右下方位置。
android:layout_gravity="bottom|right"
<TextView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:visibility="invisible"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<Button
android:id="@+id/daily_delete_btn"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="DELETE"
android:layout_gravity="center"/>
<Button
android:id="@+id/daily_save_btn"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="SAVE"
android:layout_gravity="center"/>
</LinearLayout>
使用Android Studio的activity.xml页面的约束小部件有许多方法可以实现此目的。
最常见的两种方法是: