gpt4 book ai didi

android - 在 Android 的另一个类中获取背景资源

转载 作者:行者123 更新时间:2023-11-29 00:31:00 26 4
gpt4 key购买 nike

我在 Android 应用程序中有很多按钮,我想创建一个单独的类来处理触摸事件。

所以我创建了以下类:

public class OnTouchButtonEffects implements OnTouchListener{

@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN)
v.setBackgroundResource(R.drawable.buttonbluepress);
else if(event.getAction() == MotionEvent.ACTION_UP)
v.setBackgroundResource(R.drawable.buttonblue);
}
}

现在我想要如果 view vevent ACTION_DOWN 那么我得到后台资源并在其上附加“press”然后将其设置为后台资源,如果它是event ACTION_UP 然后获取后台资源并从资源名称中删除“press”并将其设置为新的后台资源。

我试过使用 getResources() 但不知 Prop 体是怎么做的。

所以问题是如何获取后台资源的名称,并从其名称中添加/删除。

最佳答案

我认为您无法按照您要求的方式使用资源地址(即 R.id.nameOfResourse)。

我明白你想要完成什么,还有一种更简单的方法来使用自定义按钮:

StateListDrawable http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/buttonbluepress" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/buttonblue" /> <!-- focused -->
<item android:state_hovered="true"
android:drawable="@drawable/buttonblue" /> <!-- hovered -->
<item android:drawable="@drawable/buttonblue" /> <!-- default -->
</selector>

关于android - 在 Android 的另一个类中获取背景资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15728831/

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