我想让EditText和OK按钮的高度相同,但总是让EditText比Button更短。
我用Google搜索并尝试以下方式但没有成功,没有任何改变:
主题是:android:theme="@android:style/Theme.NoTitleBar.Fullscreen
有人可以帮我吗?谢谢!
这是xml:
<RelativeLayout android:id="@+id/login_layout_ipAddr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#CEE6F0"
android:visibility="invisible">
<RelativeLayout android:id="@+id/login_layout_inner_ipAddr"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<EditText android:id="@+id/login_text_ipAddr"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:inputType="text"
android:textSize="5pt"
android:hint="@string/login_text_ipAddr" />
<Button android:id="@+id/login_btn_ipAddr"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="#00ABDF"
android:textColor="#FFFFFF"
android:text="@string/login_btn_ipAddr"
android:onClick="updateIPaddr"/>
</RelativeLayout>
</RelativeLayout>
答案 0 :(得分:0)
我已更正您的代码,请尝试使用此代码...
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/login_layout_ipAddr"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#CEE6F0"
android:visibility="invisible">
<LinearLayout
android:id="@+id/login_layout_inner_ipAddr"
android:layout_width="match_parent"
android:layout_height="100dp"
android:orientation="horizontal"
android:weightSum="2">
<EditText
android:id="@+id/login_text_ipAddr"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1.8"
android:inputType="text"
android:textSize="5pt"/>
<Button
android:id="@+id/login_btn_ipAddr"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:background="#00ABDF"
android:textColor="#FFFFFF"/>
</LinearLayout>
答案 1 :(得分:0)
你可以将编辑文本和按钮放在TableRow中并用重量控制它们的空间,这样可以简化这个过程
答案 2 :(得分:0)
尝试在 LinearLayout
RelativeLayout
<?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="fill_parent"
android:orientation="vertical"
android:layout_centerInParent="true">
<LinearLayout
android:id="@+id/login_layout_inner_ipAddr"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#CEE6F0"
android:weightSum="6" >
<EditText
android:id="@+id/login_text_ipAddr"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="5"
android:hint="@string/login_text_ipAddr"
android:inputType="text"
android:textSize="5pt" />
<Button
android:id="@+id/login_btn_ipAddr"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#00ABDF"
android:onClick="updateIPaddr"
android:text="@string/login_btn_ipAddr"
android:textColor="#FFFFFF" />
</LinearLayout>
</LinearLayout>
答案 3 :(得分:0)
将填充设置为按钮。
<Button android:id="@+id/login_btn_ipAddr"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="#00ABDF"
android:textColor="#FFFFFF"
android:text="@string/login_btn_ipAddr"
android:onClick="updateIPaddr"
android:paddingLeft="5dp"
android:paddingRight="5dp"/>
答案 4 :(得分:0)
最后,我通过将"android:background="#FFFFFF""
添加到EditText元素来解决了这个问题。但我不知道这种行为的原因是什么。如果有人能够对此有所了解,我真的很感激。
没有背景:
有背景:
答案 5 :(得分:0)
使用以下代码:
<RelativeLayout android:id="@+id/login_layout_ipAddr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#CEE6F0"
android:visibility="invisible">
<RelativeLayout android:id="@+id/login_layout_inner_ipAddr"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<EditText android:id="@+id/login_text_ipAddr"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:inputType="text"
android:textSize="5pt"
android:drawableRight="@drawable/your_Button_image"
android:hint="@string/login_text_ipAddr" />
</RelativeLayout>
</RelativeLayout>
答案 6 :(得分:0)
EditText的默认背景具有短填充。按钮也有这些填充!如果要精确对齐,可以将自定义可绘制背景设置为每个背景。最简单的方法是为背景设置纯色。
答案 7 :(得分:-1)
要创建一个固定高度和宽度的按钮,您可以在px或dp中给出值。
在dp中给出值更方便,因为android会自动缩放ldpi,mdpi和hdpi设备中的高度和宽度。
<Button
android:layout_width="100dp"
android:layout_height="50dp"
android:text="Click" />