设置全局minHeight和/或minWidth

时间:2016-07-25 15:16:28

标签: android

我有一个可绘制的XML文件,我在其中使用像

这样的代码为我的按钮设置全局参数
    <shape android:shape="rectangle">
     <corners android:radius="4dip" />
    <stroke android:width="1dip" android:color="#555555" />
    <solid android:color="#dddddd"/>
    <size android:height="20dip"/>
    </shape>

没关系,但是当然,由于按钮的默认minHeight似乎是48dp,因此20的高度什么都不做。 我知道我可以使用

     android:minHeight="0dp"
     android:minWidth="0dp" 

但我想将这些值设置为&#34; global&#34;我的所有按钮。在Android Doc(https://developer.android.com/guide/topics/resources/drawable-resource.html#Shape)中搜索,似乎minHeight和minWidth不是Shape Drawable的一部分。 那么在哪里可以以全局方式设置minHeight和minWidth? 感谢

2 个答案:

答案 0 :(得分:2)

您想要定义自定义按钮样式并将其应用于您的主题。

例如:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="buttonStyle">@style/SmallerButtonStyle</item>

</style>

<style name="SmallerButtonStyle" parent="Widget.AppCompat.Button">
    <item name="android:minHeight">20dp</item>
</style>

这会将应用中的每个Button更改为默认最小高度为20dp。

如果您不希望每个按钮都那么小,您也可以像往常一样将此样式应用于单个<button>元素。

有关详情,请参阅Styles and Themes documentation

答案 1 :(得分:0)

也许您可以在res / values / dimens上定义维度并添加

<Button
    android:layout_height="@dimen/new_dimen"
    ......../>

并将它们添加到您的元素

{{1}}