我正在尝试将地图的缩放控件放在屏幕的右下角。我可以使用alignParentBottom="true"
和alignParentRight="true"
同时使用RelativeLayout,但是使用Framelayout我没有找到任何此类属性。如何将其与屏幕右下方对齐?
答案 0 :(得分:233)
实际上它是可能的,尽管在其他答案中有所说。如果您有FrameLayout
,并且想要将子项目放在底部,则可以使用android:layout_gravity="bottom"
,这样就可以将该子项与FrameLayout
的底部对齐。
我知道它有效,因为我正在使用它。我知道已经很晚了,但是对于其他人来说它可能会派上用场,因为它在Google上排名靠前。
答案 1 :(得分:45)
我也遇到了这种情况并想出了如何使用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>
更改边距值以调整图像上的文本位置。删除边距可能会使文本有时会脱离视图。
答案 2 :(得分:36)
可以使用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>
答案 3 :(得分:15)
设置android:layout_gravity="bottom|right"
为我工作
答案 4 :(得分:9)
两种方法:
1)使用框架布局
android:layout_gravity="bottom|right"
2)使用相对布局
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
答案 5 :(得分:4)
android:layout_gravity="bottom"
答案 6 :(得分:3)
如果你想尝试使用java代码。你去吧 -
final LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
yourView.setLayoutParams(params);
params.gravity = Gravity.BOTTOM; // set gravity
答案 7 :(得分:2)
您可以向FrameLayout添加不可见的TextView。
<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>
答案 8 :(得分:0)
有很多方法可以使用android studio的activity.xml页面的约束窗口小部件来完成此操作。
两种最常见的方法是:
答案 9 :(得分:-3)
你无法使用FrameLayout。
来自规范:
http://developer.android.com/reference/android/widget/FrameLayout.html
“FrameLayout旨在屏蔽屏幕上的某个区域以显示单个项目。您可以将多个子项添加到FrameLayout,但所有子项都挂在屏幕的左上角。”
为什么不使用RelativeLayout?