gpt4 book ai didi

android - 在 Android 中使用 Transitions 的 ImageButton

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:36:09 26 4
gpt4 key购买 nike

我正在尝试创建一个具有自定义选择器的透明(无按钮背景)ImageButton。我让选择器对着按钮工作,但我现在希望选择器可绘制对象相互淡入淡出。我看到了可以用 XML 表示的 TransitionDrawable 对象。有没有办法将它连接到我的选择器?

下面是用于在屏幕左下角创建图像按钮的 XML 布局代码。目前,它突然从一个图像转到下一个图像,而忽略了转换 XML。

selector_button.xml

<?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/transition_normal_to_pressed" /> <!-- pressed -->
<item android:state_focused="true" android:drawable="@drawable/transition_pressed_to_normal" /> <!-- focused -->
<item android:drawable="@drawable/menu_normal" /> <!-- default -->
</selector>

transition_normal_to_pressed.xml

<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/menu_pressed" />
<item android:drawable="@drawable/menu_normal" />
</transition>

activity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageButton
android:id="@+id/btnMenu"
android:background="@android:color/transparent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/selector_button"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true" />
</RelativeLayout>

最佳答案

您需要删除选择器并直接将过渡用作 ImageButtons 可绘制对象。动画本身必须在代码中应用

ImageButton button = (ImageButton) findViewById(R.id.button);
TransitionDrawable drawable = (TransitionDrawable) button.getDrawable();
drawable.startTransition(500);

drawable.reverseTransition(500) 将从当前状态反转转换。

参见 Transition Drawable以及 TransitionDrawable.html#reverseTransition(int) 以获得进一步的解释。

关于android - 在 Android 中使用 Transitions 的 ImageButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3563269/

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