我正在尝试将地图的缩放控件放在屏幕的右下角。我可以同时使用alignParentBottom="true"
和和RelativeLayout一起使用alignParentRight="true"
,但是使用Framelayout我没有找到任何这样的属性。如何将其与屏幕的右下角对齐?
我正在尝试将地图的缩放控件放在屏幕的右下角。我可以同时使用alignParentBottom="true"
和和RelativeLayout一起使用alignParentRight="true"
,但是使用Framelayout我没有找到任何这样的属性。如何将其与屏幕的右下角对齐?
Answers:
尽管有其他答案,但实际上是可能的。如果您有个FrameLayout
,并且想要将一个子项放置在底部,则可以使用android:layout_gravity="bottom"
,这将使该子项与底部对齐FrameLayout
。
我知道它有效,因为我正在使用它。我知道已经晚了,但是它可能对其他人很方便,因为它在google上排名最高
我也遇到了这种情况,并想出了如何使用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
。因为无论如何,RelativeLayout会在整个屏幕上缩放。
如果您想尝试使用Java代码。干得好 -
final LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
yourView.setLayoutParams(params);
params.gravity = Gravity.BOTTOM; // set gravity
您可以将不可见的TextView添加到FrameLayout中。
<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页面的约束窗口小部件来执行此操作。
两种最常见的方法是:
您无法使用FrameLayout做到这一点。
从规格:
http://developer.android.com/reference/android/widget/FrameLayout.html
“ FrameLayout旨在遮挡屏幕上的某个区域以显示单个项目。您可以向FrameLayout中添加多个子项,但是所有子项都固定在屏幕的左上方。”
为什么不使用RelativeLayout?