Android 在 TabWidget 的左侧添加一个图像并在其右侧添加一个编辑文本?
Android adding an image to the left of TabWidget and an edittext right of it?
我想要如下布局
Image TabName1 TabName2 TabName3 EditText
<-------------------- 选项卡内容-------------------- >
我下面的 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
不可见。
如果您想要水平视图,您只需设置 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>
希望这对您有所帮助。
我想要如下布局
Image TabName1 TabName2 TabName3 EditText
<-------------------- 选项卡内容-------------------- >
我下面的 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
不可见。
如果您想要水平视图,您只需设置 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>
希望这对您有所帮助。