增加EditText的高度

时间:2013-11-19 06:51:01

标签: android xml user-interface android-edittext

请查看以下XML代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Talk" >

    <RelativeLayout
        android:id="@+id/controlPanelLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin" >

        <ImageView
            android:id="@+id/playBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
             />

        <ImageView
            android:id="@+id/stopBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/playBtn"
            android:layout_marginLeft="15dp"
            android:src="@drawable/stop_simple" />

        <ImageView
            android:id="@+id/clearBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_toRightOf="@+id/stopBtn"
            android:src="@drawable/clear_simple" />

        <ImageView
            android:id="@+id/speakerBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/clearBtn"
            android:layout_marginLeft="15dp"
            android:src="@drawable/speaker_simple" />

        <ImageView
            android:id="@+id/settingsBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:src="@drawable/settings_simple" />

    </RelativeLayout>


    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:layout_below="@+id/controlPanelLayout"
        android:layout_marginTop="10dp"
            >
        <EditText
            android:id="@+id/textField"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:linksClickable="true"
            android:ems="10"
            android:gravity="top"
            android:inputType="textMultiLine"
             >

            <requestFocus />
        </EditText>
    </LinearLayout>

   <com.google.ads.AdView
        xmlns:googleads="http://schemas.android.com/apk/lib/com.google.ads"
        android:id="@+id/adTalk"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        googleads:adSize="BANNER" 
        android:layout_alignParentBottom="true"
        android:layout_marginTop="5dp"
        googleads:adUnitId="xxxxxxxxxxxxxxxxxxx"
         />

</RelativeLayout>

这会生成以下UI

enter image description here

如您所见,EditText身高很小。我希望文本有一个高度,直到它符合AdView。我期待的高度在图像的右侧用红色线标记。

我尝试了很多事情。

  1. 将高度设置为match_parent - 这不起作用,因为它占用了剩余的广告空间。

  2. 更改行数 - 这不太好,因为在不同的手机中,EditText的高度会有所不同。

  3. 我该如何解决这个问题?

5 个答案:

答案 0 :(得分:2)

像这样改变你的LinerarLayout ..

  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/adTalk"
    android:layout_below="@+id/controlPanelLayout"
    android:layout_marginTop="10dp"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin" >

    <EditText
        android:id="@+id/textField"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:ems="10"
        android:gravity="top"
        android:inputType="textMultiLine"
        android:linksClickable="true" >

        <requestFocus />
    </EditText>
</LinearLayout>

答案 1 :(得分:0)

请在android:layout_weight="1"之后使用android:layout_height作为EditText并检查结果。

答案 2 :(得分:0)

替换此代码段。

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:layout_below="@+id/controlPanelLayout"
    android:layout_above="@+id/adTalk"
    android:layout_marginTop="10dp"
        >
    <EditText
        android:id="@+id/textField"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:linksClickable="true"
        android:ems="10"
        android:gravity="top"
        android:inputType="textMultiLine"
         >

        <requestFocus />
    </EditText>
</LinearLayout>

答案 3 :(得分:0)

试试这个

 <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="@dimen/activity_horizontal_margin"
            android:paddingRight="@dimen/activity_horizontal_margin"
            android:layout_above="@+id/adTalk"
            android:layout_below="@+id/controlPanelLayout"
            android:layout_marginTop="10dp"
                >
            <EditText
                android:id="@+id/textField"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:linksClickable="true"
                android:ems="10"
                android:gravity="top"
                android:inputType="textMultiLine">
            </EditText>
        </LinearLayout>
        <com.google.ads.AdView
            xmlns:googleads="http://schemas.android.com/apk/lib/com.google.ads"
            android:id="@+id/adTalk"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            googleads:adSize="BANNER" 
            android:layout_alignParentBottom="true"
            android:layout_marginTop="5dp"
            googleads:adUnitId="a1528a76339cc88"
             />

答案 4 :(得分:0)

试试这个......

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Talk" >

    <com.google.ads.AdView
        xmlns:googleads="http://schemas.android.com/apk/lib/com.google.ads"
        android:id="@+id/adTalk"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="5dp"
        googleads:adSize="BANNER"
        googleads:adUnitId="a1528a76339cc88" />

    <RelativeLayout
        android:id="@+id/controlPanelLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin" >

        <ImageView
            android:id="@+id/playBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true" />

        <ImageView
            android:id="@+id/stopBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_toRightOf="@+id/playBtn"
            android:src="@drawable/stop_simple" />

        <ImageView
            android:id="@+id/clearBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_toRightOf="@+id/stopBtn"
            android:src="@drawable/clear_simple" />

        <ImageView
            android:id="@+id/speakerBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_toRightOf="@+id/clearBtn"
            android:src="@drawable/speaker_simple" />

        <ImageView
            android:id="@+id/settingsBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:src="@drawable/settings_simple" />
    </RelativeLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/adTalk"
        android:layout_below="@+id/controlPanelLayout"
        android:layout_marginTop="10dp"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin" >

        <EditText
            android:id="@+id/textField"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:ems="10"
            android:gravity="top"
            android:inputType="textMultiLine"
            android:linksClickable="true" >

            <requestFocus />
        </EditText>
    </LinearLayout>

</RelativeLayout>