改变按钮的高度

时间:2013-02-25 18:00:36

标签: android android-layout

我正在尝试更改应用中几个按钮的高度。

my app screenshot

我尝试将@android:color/transparent设为android:background,我也尝试将layout_height设置为16dp等值。

我怎样才能让我的按钮更小?

这是样式xml:

<style name="Theme.PMBAppTheme.TextButton">
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">14sp</item>
    <item name="android:textColor">@drawable/text_button_text</item>
    <item name="android:background">#ff3300</item>
    <item name="android:padding">0dp</item>
    <item name="android:height">20sp</item>
</style>

布局:

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/register_btn_privacy"
        android:text="@string/privacy_policy" 
        style="@style/Theme.PMBAppTheme.TextButton"
        />

text_button_text

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_focused="true" android:state_pressed="true" android:color="@color/muted_pink_over" />
    <item android:state_focused="false" android:state_pressed="true" android:color="@color/muted_pink_over" /> 
    <item android:color="@color/muted_pink" /> 
</selector>

3 个答案:

答案 0 :(得分:4)

将按钮的高度设置为wrap_content:

android:layout_height="wrap_content"

应该将按钮的高度设置为最小值以显示其文本。

答案 1 :(得分:1)

Vapor API(刚刚发布的Android的jQuery样式框架)中,您可以使用一种名为.size(int,int)的方法。这将根据其所在的容器类型设置View的大小。如下所示:

$.Button(R.id.register_btn_privacy).size(int width, int height);

很酷的是,您还可以通过链接来调整View的其他属性。例如:

$.Button(R.id.register_btn_privacy)
.size(50,100)    // set size
.text("Privacy Policy") // set the text
.bgColor(Color.RED)  // set the background color
.color(Color.WHITE);  // set the text color

如果您对Vapor API website感兴趣,请查看它,它基本上是为了让Android开发人员更轻松,并且喜欢使用jQuery。

答案 2 :(得分:1)

从你的风格中删除

<item name="android:height">20sp</item>

所以你最终得到了

<style name="Theme.PMBAppTheme.TextButton">
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">14sp</item>
    <item name="android:textColor">@drawable/text_button_text</item>
    <item name="android:background">#ff3300</item>
    <item name="android:padding">0dp</item>
</style>

Button继承自TextView,并且根据TextView android:height,这可能是准确设置高度并导致其忽略您的layout_height