推广

Android 使用 RotateDrawable 实现箭头动画

iseeyu2年前 (2024-02-22)推广106

最终效果.gif

xml代码

TextView设置文字及背景色以及代码设置drawableStart、drawableEnd,Button用于设置点击事件。

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>

        <import type="com.john.test.FAndroid" />
    </data>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:fitsSystemWindows="true"
        android:orientation="vertical">

        <TextView
            android:id="@+id/test_text_view"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:gravity="center"
            android:textColor="@android:color/white"
            android:background="@color/colorAccent"
            android:layout_gravity="center"
            android:padding="12dp"
            android:text="123123123" />

        <Button
            android:id="@+id/test_click"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="200dp"
            android:text="click" />
    </LinearLayout>
</layout>

Kotlin 代码

注意,mutate()方法非常重要,它是一个不可逆的操作,可以将drawable�实例状态独立出来。

class TestActivity : AppCompatActivity() {
    private lateinit var mBinding:ActivityTestBinding
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        mBinding = DataBindingUtil.setContentView(this,R.layout.activity_test)
        mBinding.lifecycleOwner = this
        
        val d1 = ResourcesCompat.getDrawable(resources, R.drawable.rotate, null) as RotateDrawable
        val d2 = ResourcesCompat.getDrawable(resources, R.drawable.rotate, null) as RotateDrawable
        Log.d("lq", "is drawable the same: ${d1 == d2}")
        d1.mutate()
        mBinding.testTextView.setCompoundDrawablesRelativeWithIntrinsicBounds(d1, null, d2, null)

        var chose = true
        mBinding.testClick.setOnClickListener {
            if (chose) {
                ObjectAnimator.ofInt(d1, "level", 0, 5000).setDuration(300).start()
                ObjectAnimator.ofInt(d2,"level",5000,10000).setDuration(300).start()
            } else {
                ObjectAnimator.ofInt(d2,"level",0,5000).setDuration(300).start()
                ObjectAnimator.ofInt(d1, "level", 5000, 10000).setDuration(300).start()
            }
            chose = !chose
        }
    }
}

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/56514.html

相关文章

seo的本质是什么。

seo的本质是什么。

在我们学习技能的过程中,经常会听到行业中的前辈们这么说这么一句话,在学习中我们要透过现象看本质,是的本质很重要,但是到底什么是本质呢?做seo优化的非常的多,能够看到seo本质的朋友却没有几个,今天小编就和大家聊一聊seo的本质是什么?如何运用seo本质进行优化 通过百度指数看seo的本质: 相...

小编分享洗发水企业网络推广,洗发水发布信息网站。

小编分享洗发水企业网络推广,洗发水发布信息网站。

是所有商家推广产品面临的首要问题。要知道如何推广网络,首先要知道什么是网络推广。通过互联网直接或间接推广品牌或产品可以称为网络推广,也可以称为网络营销。众所周知,二战期间,美军巴顿将军非常擅长运用装甲战术,赢得了多场战役。先进的战术对战争中的胜利非常有效。在现代商场战争中,网络推广就像二战中的坦克飞...

新手如何装修淘宝店铺(淘宝怎样装修店铺)

新手如何装修淘宝店铺(淘宝怎样装修店铺)

一个好的包装能带来很大的销量,足见包装的魅力所在,优秀的包装设计和店铺展示,能够迅速抓住消费者的注意,并激发消费者购买产品的欲望。...

如何做好知乎推广引流?3个关键点!

如何做好知乎推广引流?3个关键点!

  作为后来居上的知乎,在互联网还算是众所周知的,流量大,而且用户质量高,不少的行业还有个人已经跑到知乎这个平台作推广引流了。 在知乎,每一个用户都有一个自己的个人等级,简称PR,用户的每一个操作都会影响账号的PR值。在回答的时候,答案是按照赞同还有评论人数来进行排名的,假如...

商城推广需拥有良好的方法和策略。

商城推广需拥有良好的方法和策略。

网站商城相信大家都很熟悉,很多站长都有自己的网站商城,网站推广商城的定义很简单,就是利用网站推广产品,从而获取利润,一个成功的网站商城,那肯定是少不了良好的推广方法和推广策略。 注意点一:关键在于商城的品牌建设 相信很多的网站推广商城站长,都会很重视这一点,没有任何的品牌,没有任何知名度的商城,...

学市场营销专业真的是卖东西的吗?具体专业的就业前景是什么 ...

学市场营销专业真的是卖东西的吗?具体专业的就业前景是什么 ...

都2202年了不会还有人觉得,学就是卖东西的吧之所以对这个专业有误解的人,是因为在中看到市营专业的学生,大多都是干房地产销售,销售等等销售类的工作,我们可以广西交职院市营专业的学生为例子,1.从课程来分析首先市场营销要学的东西很多,比如管理学基础、市场营销学、市场营销、市场...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片