gpt4 book ai didi

android - 按下按钮时按钮大小和背景颜色发生变化

转载 作者:太空狗 更新时间:2023-10-29 16:23:53 25 4
gpt4 key购买 nike

我正在尝试创建一个包含 3 个按钮的布局,我想让每个按钮的宽度都是屏幕宽度的 30%。执行此操作的最佳方法是什么?

我的第二个问题是,如何定义按钮的按下颜色?我希望按钮为绿色,按下时变为红色。

谢谢!马可

最佳答案

为按钮设置颜色的最佳方法是在按下/激活/禁用/聚焦时为按钮创建自定义可绘制对象(在我的示例中,我使用 button_faded.png、button_down.png 和 button_up.png),然后定义一个xml 告诉按钮如何使用它:

按钮.xml:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_faded"
android:state_enabled="false" />
<item android:drawable="@drawable/button_down"
android:state_pressed="true" />
<item android:drawable="@drawable/button_up"
android:state_focused="true" />
<item android:drawable="@drawable/button_up" />
</selector>

然后在你的布局中将背景设置为"@drawable/button"

或者更好的是在你的 styles.xml 中创建一个按钮样式:

<style name="Button">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#000000</item>
<item name="android:textSize">19sp</item>
<item name="android:background">@drawable/button</item>
<item name="android:gravity">center</item>
<item name="android:paddingLeft">0dp</item>
<item name="android:paddingRight">0dp</item>
<item name="android:paddingTop">5dp</item>
<item name="android:paddingBottom">5dp</item>
</style>

并在您的布局 xml 中告诉按钮使用样式:

    <Button style="@style/Button" />

就按钮的布局而言...如果您希望每个按钮占屏幕的 1/3,请创建一个包含所有三个按钮的水平 LinearyLayout。将按钮宽度设置为 fill_parent 并赋予它们相同的布局权重,假设为“1”...这应该用 3 个大小相同的按钮填充行。然后,您可以使用布局边距或填充调整它们之间的空间。

关于android - 按下按钮时按钮大小和背景颜色发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7097558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com