1

如何格式化标题、列表和 EditText,以便 EditText 是固定的单行并且始终可见?这是我的布局,只有一个列表条目 - EditText 填充了屏幕的其余部分,看起来很糟糕。 在此处输入图像描述

这是具有多个列表条目的布局 - 软键盘隐藏正在键入的文本。我正在输入韦恩。 在此处输入图像描述

我尝试了各种线性和相对布局。这是我当前的布局:

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

我很感激有关如何格式化此屏幕的任何建议。

4

6 回答 6

3

为此,您有两个选项,一个是在 textview 中,android:singleLine="true"如果您这样做,则会调用一个标签,文本位于一行中,它会错过一些文本并显示一些点..

另一种方法是你必须减少字体大小..通过使用这个标签..android:textSize="3sp"

于 2013-09-24T11:16:01.227 回答
0

您可以将静态高度设置为片段。因此,如果您的列表项例如说一个或多个 5,您的编辑文本构成片段的底层。此外,您可以将 android:singleLine="true" 属性设置为 edittext。

于 2013-09-24T11:28:43.733 回答
0

添加

 android:maxLines="1"

到您的 EditText,以获得所需的行数。

于 2013-09-24T11:17:42.467 回答
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>
于 2013-09-24T11:22:29.353 回答
0

android:ellipsize=end  
android:singleLine="true"
于 2013-09-24T11:24:09.130 回答
0

更改元素的顺序和位置:

  1. 首先在顶部添加标题
  2. 添加底部编辑文本
  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>
于 2013-09-24T11:24:43.783 回答