我的EditText
中有Button
和LinearLayout
,我想将它们紧密地对齐,以便它们看起来似乎属于一起(edittext + micButton用于语音输入)。
现在它们没有相同的高度,并且它们并没有真正对齐(Button
似乎比EditText
略低。我知道我可以应用像-5dp
这样的负余量来让它们更接近,但是有没有更好的方法呢?
将它们设置在特定的容器/布局中,以便它们自动具有相同的高度,并且它们之间没有边距?
答案 0 :(得分:1)
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />
</LinearLayout>
注意:由于EditTexts和Buttons的文本方向略有不同,您可能需要进行一些调整(通过更改边距或填充)以使文本正确对齐。
答案 1 :(得分:1)
我希望这个解决方案对你的场景有所帮助......这是代码..
<RelativeLayout
android:id="@+id/rlLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal"
android:padding="3dp" >
<EditText
android:id="@+id/etId"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:background="#c8c8c8"
android:hint="Edittext"
android:paddingLeft="20dip"
android:paddingRight="10dip"
android:textColor="#000000" />
<RelativeLayout
android:id="@+id/rlLayoutid"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignRight="@+id/etId" >
<Button
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_marginRight="14dp"
android:layout_marginTop="10dp"
android:background="@drawable/calender" />
</RelativeLayout>
</RelativeLayout>
答案 2 :(得分:0)
使用相对布局,您可以根据其他视图大小拉伸视图,而无需知道其他视图的确切大小。 这是代码:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:layout_width="100dp"
android:layout_height="100dp"
android:text="button"
android:id="@+id/but"/>
<EditText
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/but"
android:layout_alignBottom="@id/but"
android:layout_alignTop="@id/but"
/>
</RelativeLayout>
检查此链接以减少视图之间的空间: https://groups.google.com/forum/?fromgroups#!topic/android-developers/RNfAxbqbTIk
答案 3 :(得分:0)
@ Daniel Here您可以使用布局权重和权重总和
a
答案 4 :(得分:-1)
Android尝试自动调整文本的所有内容,而不是按钮本身。
永远地想我,最终弄清楚了。它真的很简单。应该解决它。
myButton.setGravity(Gravity.CENTER_VERTICAL);
或者如果它们在一行中..将按钮附加到表格行,然后。
myTableRow.setGravity(Gravity.CENTER_VERTICAL);