我有使用TextView和Button的LinearLayout。我将layout_height属性设置为wrap_content,但layout_height的大小要大得多。如果我删除此按钮,那么一切都没问题。我尝试减少按钮文本大小,但按钮的框架仍然相同。我不想要硬编码按钮大小。这个奇怪的结果可能是什么原因?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/left_margin"
android:layout_marginTop="@dimen/top_margin"
android:layout_weight=".3"
android:text="@string/contact" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:layout_marginLeft="@dimen/left_margin"
android:layout_marginTop="@dimen/top_margin"
android:orientation="horizontal"
android:weightSum="1" >
<TextView
android:id="@+id/contact"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/contact" android:textSize="@dimen/button_font_size"/>
</LinearLayout>
答案 0 :(得分:3)
Button
具有背景和其他布局属性,似乎无法降低其高度。一个选项是使用带有自定义样式的TextView
并处理点击事件,使其行为类似于Button
。
示例:
<TextView
android:layout_height="wrap_content"
android:background="#ddd"
android:padding="6dp"
android:layout_width="wrap_content"
android:text="Contact" />
它需要一些工作和时间来正确设置TextView
的样式,但是如果你别无选择,它可能会为你做到这一点。
答案 1 :(得分:1)
我在使用按钮时也有这个问题,你可以手动设置高度和宽度,但我还没有找到一种方法来减少wrap_content的大小。
android:layout_width="40dp"
android:layout_height="30dp"
答案 2 :(得分:0)
这是因为按钮的最小高度。设置android:minHeight="1dp"
或任何其他尺寸即可实现。