我想有一个像下面这样的布局
图像选项卡名称1 选项卡名称2 选项卡名称3 编辑文本
<--------------------选项卡内容---------------------->
我下面的 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"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo1" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:showDividers="none"
android:background="#F0F0F0" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dp" />
<EditText
android:layout_weight="1"
android:id="@+id/qsearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
android:inputType="text"
android:imeOptions="actionSearch|flagNoExtractUi" >
<requestFocus />
</EditText>
</LinearLayout>
</TabHost>
试试这个。
您将framelayout
高度设置为 fill parent
,因此您的edittext
不可见。
如果你想要水平U的视图,只需要设置android:orientation="horizontal"
。
如果使用权重属性,如果方向为垂直,则将高度设置为 0dp,如果方向为水平,则将权重设置为 0dp,并指定权重。
<?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" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp" >
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#F0F0F0"
android:showDividers="none" />
<EditText
android:id="@+id/qsearch"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:imeOptions="actionSearch|flagNoExtractUi"
android:inputType="text"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="sdfsf" >
<requestFocus />
</EditText>
</LinearLayout>
<RelativeLayout
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="0dp" />
</RelativeLayout>
</LinearLayout>
</TabHost>
android:weightSum
设置为父布局并划分子布局是一个好习惯,您还可以根据需要划分布局,只需更改子布局中android:layout_weight
属性的值即可
我刚刚划分了布局,您可以相应地更改权重的值
<?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" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp"
android:weightSum="5" >
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:background="#F0F0F0"
android:showDividers="none" />
<EditText
android:id="@+id/qsearch"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="2"
android:ellipsize="end"
android:imeOptions="actionSearch|flagNoExtractUi"
android:inputType="text"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="sdfsf" >
<requestFocus />
</EditText>
</LinearLayout>
<RelativeLayout
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="0dp" />
</RelativeLayout>
</LinearLayout>
</TabHost>
希望这有帮助。