我想有一个如下所示的布局
Image TabName1 TabName2 TabName3 EditText
< --------------------标签内容----------------------&gt ;
我的下面的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>
答案 0 :(得分:1)
试试这个..
您将framelayout
身高设置为fill parent
,因此您的edittext
不可见。
如果您想要水平视图,则只需设置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>
答案 1 :(得分:1)
将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>
希望这会有所帮助。