Android 在 TabWidget 的左侧添加了一个图像,并在它的右侧添加了编辑文本



我想有一个像下面这样的布局

图像选项卡名称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>

希望这有帮助。

最新更新