gpt4 book ai didi

android - 与 Xcode 中一样,Android 中按下按钮的背景变化

转载 作者:行者123 更新时间:2023-11-30 03:13:41 25 4
gpt4 key购买 nike

我想知道有什么方法可以使您自定义的 ImageButton 或 Button 在单击时更改背景。

现在,我知道它可以通过 XML 做这样的事情来完成:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/login_selected" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/login_mouse_over" /> <!-- focused -->
<item android:drawable="@drawable/login" /> <!-- default -->
</selector>

或者在代码中,做这样的事情,onClick:

public void onClick(View v) {
if(v == ButtonName) {
ButtonName.setImageResource(R.drawable.ImageName);
}
}

但是,如果我想这样做,那意味着我必须为一个按钮使用 2 个不同的图像。一种是正常状态,一种是按下状态。如果我有 100 个不同的按钮,那可能是个问题。那是 200 张图像,仅用于按钮。您可以想象一下,只要告诉 eclipse 它是一个按钮,我就可以节省资源,我希望它在我按下时颜色变深一点。

所以我想问有没有办法像在 Xcode 中那样做?设置按钮的背景或图像,按下时它会稍微变暗,不改变背景或任何东西,只是稍微变暗,like this

最佳答案

试试这段代码如果名字enter image description here

是btn_back.png

制作以下darawble xml文件

btn_semi.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#50000011"
/>
<corners android:radius="10dip"/>
</shape>

btn_background.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" >
<layer-list>
<item android:drawable="@drawable/btn_back"></item>
<item android:drawable="@drawable/btn_semi"></item>
</layer-list>
</item>
<item android:drawable="@drawable/btn_back"></item>
</selector>

在布局中创建一个按钮

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_background"
/>

关于android - 与 Xcode 中一样,Android 中按下按钮的背景变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20515436/

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