2015-01-15 38 views
0

我想有一个布局像下面Android在TabWidget的左侧添加一个图像并在其右侧添加一个edittext权限?

图片TabName1 TabName2 TabName3的EditText

< --------------------选项卡内容--- ------------------->

我下面的xml不起作用。该图像将显示在标签的顶部和的EditText甚至没有被显示在所有...

<?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> 

回答

1

试试这个..

你[R framelayout高度设置为fill parent所以UR edittext是不可见的。

如果你想在水平的意见你只需要设置android:orientation="horizontal"

如果乌尔使用重量属性如果UR取向是垂直的集高度0dp,如果UR方向是水平的设定重量至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> 
+0

如果它不起作用请发布所需的图像.... –

+0

嗨,与您的XML图像仍然在标签上方,编辑框是在标签的底部。我需要他们都在同一行/行。 – Eddi

+0

你的意思是水平吗? –

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> 

希望这有助于。

+0

感谢您的提示。 – Eddi

+0

我想它适合你...... :) –

相关问题