Holo主题让我的按钮更大

时间:2013-05-09 16:54:33

标签: android button layout

在使用api> =版本11的设备上应用holo主题时,我有点担心 我的自定义按钮变大(高度,宽度似乎相同)

这是没有全息的 enter image description here

这是他们的全息 enter image description here

有人能告诉我是什么原因引起的吗?如果可以保持与没有全息主题相同的按钮大小?

ps:这是我的按钮形状:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#F000" />

    <stroke
        android:width="1px"
        android:color="#BB000000" />

    <padding
        android:bottom="7dp"
        android:left="10dp"
        android:right="10dp"
        android:top="7dp" />

    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />

    <gradient
        android:angle="90"
        android:centerColor="#5b5bcd"
        android:endColor="#6f6fcf"
        android:startColor="#4747e0"
        android:type="linear" />

</shape>

这就是我在按钮上应用它的方式(即线性水平线性布局,重量为0.8)

<Button
            android:id="@+id/addplayer"
            android:layout_width="0px"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="5dp"
            android:layout_weight="0.8"
            android:background="@drawable/blue_button_selector"
            android:text="Add player" />
谢谢!!

2 个答案:

答案 0 :(得分:11)

Android的Holo主题在Holo.Widget.Button的系统styles.xml资源中设置minWidth和minHeight,它除了指定非全息按钮Widget.Button使用的规则之外还指定了规则。即使使用小按钮标题,该按钮也会在Android 4.2中占用64x48dip。

<Button
    android:id="@+id/sample_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Z"
    android:padding="6dp"
    android:minHeight="1dp"
    android:minWidth="1dp"
    android:layout_marginBottom="6dp"
    android:layout_marginRight="6dp"
    style="@style/CustomButton"
    android:textSize="16sp" />

答案 1 :(得分:6)

  1. 制作以下xml文件

  2. 您可以在清单中应用自定义主题

  3. 喜欢这个 - android:theme =“@ style / NoActionBar”

    [在值文件夹中]

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="NoActionBar" parent="@android:style/Theme.Light.NoTitleBar">
            <!-- Inherits the default theme for pre-HC (no action bar) -->
        </style>
    </resources>
    

    [在values-v11文件夹中]

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
    
    <style name="NoActionBar" parent="@android:style/Theme.Holo.Light.NoActionBar">
        <!-- Inherits the Holo theme with no action bar; no other styles needed. -->
        <item name="android:buttonStyle">@style/CustomHoloLightButtonStyle</item>
    </style>
    
    
    <style name="CustomHoloLightButtonStyle" parent="@android:style/Widget.Holo.Light.Button">
        <item name="android:minHeight">1dip</item>
        <item name="android:minWidth">1dip</item>
    </style>    
    
    </resources>