我正在尝试使用与LinearLayout中的后续EditText水平对齐的TextView。不幸的是,它看起来(对我来说)Parent LinearLayout增加了比XML定义的空间更多的空间。当我同时使用两个视图时,这只会发生。如果我使用2个EditText或按钮,我看不到任何问题。
E.g。 Top是我的结果,低于预期的
IMAGE:compare.gif
当我删除EditText时,它看起来像预期的那样:
图片:compare2.gif
图片: https://drive.google.com/folderview?id=0B4ipfo7vG5R9N0hBZm1iLUFIV2c&usp=sharing
<LinearLayout
android:background="#ccc"
android:padding="0dp"
android:orientation="horizontal"
android:layout_margin="0dp"
android:layout_width="match_parent"
android:layout_height="48dp">
<TextView
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_margin="8dp"
android:background="#ff0000"/>
<EditText
android:id="@+id/editText_name"
android:singleLine="true"
android:layout_height="40dp"
android:layout_margin="4dp"
android:layout_width="match_parent"
android:hint="@string/label_category"
android:maxLength="64"/>
</LinearLayout>
我正在使用Android Studio 0.5.1
有什么我忽略的吗?提前谢谢!
答案 0 :(得分:0)
layout_width
中的 EditText
参数应为:
android:layout_width="wrap_content"
并进一步使用layout_weight
进行TextView
和EditText
之间的空间分配。
答案 1 :(得分:0)
尝试将android:gravity="center"
添加到LinearLayout
。
您也可以尝试将android:layout_gravity="center_vertical"
添加到两个View
本身。
如果您仍然遇到问题,那么您可以查看此博文,其中讨论了如下布局视图: http://thinkandroid.wordpress.com/2010/01/14/how-to-position-views-properly-in-layouts/
答案 2 :(得分:0)
<LinearLayout
android:background="#ccc"
android:padding="2dp"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="48dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Test"
android:gravity="center"
android:layout_weight="0.2"
android:background="#ff0000"/>
<EditText
android:id="@+id/editText_name"
android:singleLine="true"
android:layout_weight="0.8"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:hint="@string/label_category"
android:maxLength="64"/>
</LinearLayout>
请改用它,看看它是否满足您的需求......
THX
答案 3 :(得分:0)
// try this way, hope this will help you...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#ccc"
android:layout_width="match_parent"
android:gravity="center_vertical"
android:layout_height="48dp">
<TextView
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_margin="8dp"
android:background="#ff0000"/>
<EditText
android:id="@+id/editText_name"
android:singleLine="true"
android:layout_height="40dp"
android:layout_margin="4dp"
android:layout_width="0dp"
android:layout_weight="1"
android:hint="@string/label_category"
android:maxLength="64"/>
</LinearLayout>
答案 4 :(得分:0)
尝试将此代码文本视图水平对齐,并为所有屏幕编辑文本修复。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ccc"
android:orientation="horizontal"
android:weightSum="1"
android:gravity="center"
>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_weight=".2"
android:background="#ff0000" />
<EditText
android:id="@+id/editText_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".8"
android:hint="@string/label_category"
android:maxLength="64"
android:singleLine="true" />
</LinearLayout>