您好我FrameLayout
并希望在此布局中添加two buttons (or more)
第一个按钮显示,但是当添加第二个按钮时,它似乎放置it beneath the first button
。我已经尝试了margin top gravity
和其他一些更多,但似乎无法显示第一个下方的按钮。
这是我的XML文件
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/logo1">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp" >
<Button
android:id="@+id/Distancecalc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Distance Calculator" />
<Button
android:id="@+id/Distance"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Distance Calculator" />
</FrameLayout>
</LinearLayout>
</TabHost>
有人可以帮忙吗?
答案 0 :(得分:2)
FrameLayout旨在阻止屏幕上的某个区域显示a single item
。通常,FrameLayout应该用于保存a single child view
,因为以一种可以扩展到不同屏幕大小而儿童不会相互重叠的方式组织子视图可能很困难。但是,您可以使用control their position within the FrameLayout by assigning gravity to each child
属性将多个子项添加到FrameLayout和android:layout_gravity
。
子视图以堆栈形式绘制,最近添加的子项位于顶部。 FrameLayout的大小是其最大子项(加上填充)的大小,可见或不可见(如果FrameLayout的父级允许)。仅当setConsiderGoneChildrenWhenMeasuring()
设置为true时,GONE视图才会用于调整大小。
对于您的解决方案,请使用LinearLayout with vertical orientation
或RelativeLayout
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/logo1">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="5dp" >
<Button
android:id="@+id/Distancecalc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Distance Calculator" />
<Button
android:id="@+id/Distance"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Distance Calculator" />
</LinearLayout>
</LinearLayout>
</TabHost>