有没有办法控制一组按钮在Android应用中的外观,而不是单独的?
例如,如果我有8个按钮,我想将所有minHeight更改为50dp。或者我是否必须单独更改每个值?在style.xml文件中或其他任何位置。
谢谢!
<Button
android:id="@+id/btnWhite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:background="#E0E0EB"
android:gravity="center"
android:minHeight="54dp"
android:minWidth="59dp"
android:onClick="@android:color/white"
android:padding="0dp"
android:text="White"
android:textStyle="bold" />
<Button
android:id="@+id/btnGrey"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:background="#E0E0EB"
android:gravity="center"
android:minHeight="54dp"
android:minWidth="59dp"
android:padding="0dp"
android:text="Grey"
android:textStyle="bold" />
答案 0 :(得分:1)
我知道的唯一方法是通过Java实现自定义按钮
(在com.my.view包下)
class Button myButton extends Button {
// Define your button here
}
在.xml文件中,
<com.my.view.myButton>
android:id="@+id/button_01"
</com.my.view.myButton>
<com.my.view.myButton>
android:id="@+id/button_02"
</com.my.view.myButton>
答案 1 :(得分:0)
在 style.xml 文件中,创建一个类似于以下内容的新样式:
<style name="MyButtonStyle1" parent="android:style/Widget.Button">
<item name="android:background">#e0e0eb</item>
<item name="android:minWidth">54dip</item>
<item name="android:minHeight">59dip</item>
<item name="android:padding">0dip</item>
<item name="android:textStyle">bold</item>
<!-- add more attributes here -->
</style>
然后,在您的活动的内容布局XML文件中,将您的自定义样式应用于按钮小部件,如下所示:
<Button
style="@style/MyButtonStyle1"
android:id="@android:id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
/>
答案 2 :(得分:0)
在你的res / values / styles.xml文件中找到你的AppTheme并声明一个buttonStyle项目:
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:buttonStyle">@style/myButton</item>
</style>
然后通过扩展android:style / Widget.Button:
来声明自定义按钮样式<style name="myButton" parent="@android:style/Widget.Button">
<item name="android:background">#f81</item>
<item name="android:textColor">#a39</item>
<item name="android:text">"Click Me"</item>
</style>
应更改应用中所有按钮的样式。
另外,作为注释,您的应用程序主题在ApplicationManifest.xml中定义,并且是
android:theme="@style/AppTheme"
默认情况下,这就是我们对“AppTheme”风格进行更改的原因。