2013-09-24 138 views
1

如何格式化標題,列表和EditText,以便EditText是固定的單行且始終可見? 這是我的佈局只有一個列表項 - EditText填充屏幕看起來不好的其餘部分。 enter image description hereEditText字段太大或被覆蓋

這裏是包含多個列表條目的佈局 - 軟鍵盤隱藏了輸入的文本。我在韋恩打字。 enter image description here

我嘗試了各種線性和相對佈局。這是我目前的佈局:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 

<TextView 
    android:id="@+id/select_child_header" 
    style="@style/headerStyle" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:background="@color/start_blue" 
    android:text="Which child did you take a picture of?" /> 

<fragment 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/modchild_fragment" 
    android:name="com.chex.control.ChildList" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/select_child_header" 
    android:focusable="true" 
    android:focusableInTouchMode="true" > 
</fragment> 

<EditText 
    android:id="@+id/new_child" 
    style="@style/editTextStyle" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
     android:layout_below="@id/modchild_fragment" 
    android:hint="new child name" 
    android:inputType="text" 
    android:singleLine="true" /> 

</RelativeLayout> 

我欣賞任何關於如何格式化此屏幕的建議。

回答

3

爲此,您有兩個選項一個是在TextView中有一個叫android:singleLine="true"如果你不喜歡這個標籤的文字是在一個單一的線,它錯過了一些文字,並表現出一定的點..

而且另一種方式是你必須降低字號..通過使用這個標籤.. android:textSize="3sp"

0

添加

android:maxLines="1" 

您的EditText,以獲得線的所需數量。

0

嘗試這種方式

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/select_child_header" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:text="Which child did you take a picture of?" /> 

    <fragment 
     android:id="@+id/modchild_fragment" 
     android:name="com.chex.control.ChildList" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:focusable="true" 
     android:focusableInTouchMode="true" > 
    </fragment> 

    <EditText 
     android:id="@+id/new_child" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_below="@id/modchild_fragment" 
     android:hint="new child name" 
     android:inputType="text" 
     android:singleLine="true" /> 

</LinearLayout> 
0

設置

android:ellipsize=end 
android:singleLine="true" 
0

更改你的元素的順序和定位:

  1. 先加在上面
  2. 頭加上底部的EditText
  3. 添加片段之間

喜歡的東西:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/select_child_header" 
     style="@style/headerStyle" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:background="@color/start_blue" 
     android:text="Which child did you take a picture of?" /> 

    <EditText 
     android:id="@+id/new_child" 
     style="@style/editTextStyle" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:hint="new child name" 
     android:inputType="text" 
     android:singleLine="true" /> 

    <fragment 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/modchild_fragment" 
     android:name="com.chex.control.ChildList" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/new_child" 
     android:layout_below="@id/select_child_header" 
     android:focusable="true" 
     android:focusableInTouchMode="true" > 
    </fragment> 

</RelativeLayout> 
0

您可以設置靜態高度的片段。因此,如果您的列表項例如說一個或多個也是5,那麼您的編輯文本構成片段的底層。 此外,您可以將android:singleLine =「true」屬性設置爲edittext。