如何格式化标题,列表和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>
我很欣赏有关如何格式化此屏幕的任何建议。
答案 0 :(得分:3)
为此您有两个选项,一个是在textview中有一个名为android:singleLine="true"
的标签,如果您这样做,文本会出现在一行中并且它会丢失一些文本并显示一些点......
另一种方法是你必须使用这个标签减少fontsize .. android:textSize="3sp"
答案 1 :(得分:0)
添加
android:maxLines="1"
到您的EditText,以获得所需的行数。
答案 2 :(得分: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>
答案 3 :(得分:0)
集
android:ellipsize=end
android:singleLine="true"
答案 4 :(得分:0)
更改元素的顺序和位置:
类似的东西:
<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>
答案 5 :(得分:0)
您可以将静态高度设置为Fragment。因此,如果您的列表项例如说一个或多于一个,则您的编辑文本构成片段的底层。 此外,您可以将android:singleLine =“true”属性设置为edittext。