我有linearLayout包含两个EditText并将weigh()设置为EditText。但是当显示到设备时有些问题,当出现2 EditText时的空间下注。为什么....
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:gravity="center_vertical|left"
android:text="@string/PNR"
android:textSize="16sp" />
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.6"
android:gravity="center_vertical|left"
android:hint="@string/ENTER_YOUR_PNR_CODE"
android:textSize="16sp" />
</LinearLayout>
这是我要设计的图片如下:
这是图片输出(2 Edittext之间的空格我不知道为什么会出现?)
答案 0 :(得分:1)
你能试试这段代码吗?
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#cccc"
android:textSize="16dp"
android:padding="16dp"
android:text="Whant an upgrade? Enter booking details" />
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:shrinkColumns="*"
android:stretchColumns="*"
android:background="#ffffff">
<TableRow
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center_horizontal">
<TextView
android:id="@+id/TextView04"
android:text="PNR"
android:padding="18dip"
android:gravity="left" />
<EditText
android:id="@+id/EditText04"
android:hint="Enter your pnr code"
android:padding="18dip"
android:textColor="#000000"
android:gravity="left" />
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center_horizontal">
<TextView
android:id="@+id/TextView05"
android:text="Last name"
android:padding="18dip"
android:gravity="left" />
<EditText
android:id="@+id/EditText05"
android:hint="enter your last name"
android:textColor="#000000"
android:padding="18dip"
android:gravity="left" />
</TableRow>
</TableLayout>
答案 1 :(得分:1)
试试这个
设置透明背景颜色。编辑文本视图尝试此颜色代码
android:background="#00000000"
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:gravity="center_vertical|left"
android:background="#00000000"
android:text="@string/PNR"
android:textSize="16sp" />
我认为你的问题已经解决了。
答案 2 :(得分:0)
试试这个:
android:weightSum="2"
android:layout_weight="1"
android:layout_weight="1"
Android UI功能为每个元素占用8dp空间。
或
将背景视为“透明” - 这将解决您的问题
答案 3 :(得分:0)
此代码在我身边正常运作。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:padding="0dp"
android:background="@null"
android:gravity="center_vertical|left"
android:text="@string/PNR"
android:textSize="16sp" />
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.6"
android:padding="0dp"
android:background="@null"
android:gravity="center_vertical|left"
android:hint="@string/ENTER_YOUR_PNR_CODE"
android:textSize="16sp" />
</LinearLayout>
希望这会有所帮助..
修改强>
EditText保存默认填充,因此您需要将其显式设置为0dp。
答案 4 :(得分:0)
将EdtiText的背景设置为透明或null 像这样:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@null"
android:layout_weight="0.4"
android:gravity="center_vertical|left"
android:text="@string/PNR"
android:textSize="16sp" />
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@null"
android:layout_weight="0.6"
android:gravity="center_vertical|left"
android:hint="@string/ENTER_YOUR_PNR_CODE"
android:textSize="16sp" />
</LinearLayout>