电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Android如何實(shí)現(xiàn)翻轉(zhuǎn)動(dòng)畫(huà)效果(卡片翻轉(zhuǎn))

瀏覽:5日期:2023-02-14 15:55:10
目錄前言需求一、先介紹三個(gè)插值器二、實(shí)現(xiàn)步驟1.效果圖2.布局3.邏輯判斷(是否隱藏)4.翻轉(zhuǎn)動(dòng)畫(huà)5.bug出現(xiàn)6.bug解決三、源碼四、總結(jié)前言

最近好友問(wèn)計(jì)蒙翻轉(zhuǎn)動(dòng)畫(huà),恰好在大二那年看Android Api Demo時(shí)記了筆記,由此寫(xiě)一篇文章。

需求

屏幕右滑事件觸發(fā)卡片的翻轉(zhuǎn)效果 ,為了方便,在例子中將右滑事件改成按鈕點(diǎn)擊事件

老規(guī)矩,最后有源碼

一、先介紹三個(gè)插值器 LinearInterpolator() 其變化速率恒定 AccelerateInterpolator() 其變化開(kāi)始速率較慢,后面加速 DecelerateInterpolator() 其變化開(kāi)始速率較快,后面減速 二、實(shí)現(xiàn)步驟1.效果圖

Android如何實(shí)現(xiàn)翻轉(zhuǎn)動(dòng)畫(huà)效果(卡片翻轉(zhuǎn))

2.布局

一個(gè)按鈕,兩個(gè)TextView(布局文件在源碼部分)

3.邏輯判斷(是否隱藏)

final TextView visibletext;final TextView invisibletext;//邏輯判斷if (textview1.getVisibility() == View.GONE) { visibletext = textview2; invisibletext = textview1;} else { invisibletext = textview2; visibletext = textview1;}4.翻轉(zhuǎn)動(dòng)畫(huà)

//LinearInterpolator() 其變化速率恒定ObjectAnimator visToInvis = ObjectAnimator.ofFloat(visibletext, 'rotationY', 0f, 90f);visToInvis.setDuration(500);//AccelerateInterpolator() 其變化開(kāi)始速率較慢,后面加速visToInvis.setInterpolator(new AccelerateInterpolator());final ObjectAnimator invisToVis = ObjectAnimator.ofFloat(invisibletext, 'rotationY',-90f, 0f);invisToVis.setDuration(500);//DecelerateInterpolator() 其變化開(kāi)始速率較快,后面減速invisToVis.setInterpolator(new DecelerateInterpolator());visToInvis.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator anim) {visibletext.setVisibility(View.GONE);invisToVis.start();invisibletext.setVisibility(View.VISIBLE); }});visToInvis.start();5.bug出現(xiàn)

發(fā)現(xiàn)實(shí)現(xiàn)后,第一次點(diǎn)擊出現(xiàn)bug

Android如何實(shí)現(xiàn)翻轉(zhuǎn)動(dòng)畫(huà)效果(卡片翻轉(zhuǎn))

6.bug解決

在找到控件后,默認(rèn)設(shè)置y方向角度

textview2.setRotationY(-90f);三、源碼

MainActivity.java

public class MainActivity extends Activity { private TextView textview1; private TextView textview2; private Button button; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();//bug解決textview2.setRotationY(-90f);button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {flipAnimation(); }}); } private void initView() {textview1 = (TextView) findViewById(R.id.textview1);textview2 = (TextView) findViewById(R.id.textview2);button = (Button) findViewById(R.id.button); } private void flipAnimation() {final TextView visibletext;final TextView invisibletext;//邏輯判斷if (textview1.getVisibility() == View.GONE) { visibletext = textview2; invisibletext = textview1;} else { invisibletext = textview2; visibletext = textview1;}//LinearInterpolator() 其變化速率恒定ObjectAnimator visToInvis = ObjectAnimator.ofFloat(visibletext, 'rotationY', 0f, 90f);visToInvis.setDuration(500);//AccelerateInterpolator() 其變化開(kāi)始速率較慢,后面加速visToInvis.setInterpolator(new AccelerateInterpolator());final ObjectAnimator invisToVis = ObjectAnimator.ofFloat(invisibletext, 'rotationY',-90f, 0f);invisToVis.setDuration(500);//DecelerateInterpolator() 其變化開(kāi)始速率較快,后面減速invisToVis.setInterpolator(new DecelerateInterpolator());visToInvis.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator anim) {visibletext.setVisibility(View.GONE);invisToVis.start();invisibletext.setVisibility(View.VISIBLE); }});visToInvis.start(); }}

activity_main.xml

<?xml version='1.0' encoding='utf-8'?><RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' xmlns:tools='http://schemas.android.com/tools' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.MainActivity'><TextView android:layout_width='200dp' android:layout_height='200dp' android:background='#35B9F4' android: android:layout_centerInParent='true' /><TextView android:layout_width='200dp' android:layout_height='200dp' android:background='#03DAC5' android:layout_centerInParent='true' android: /><Button android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_alignParentBottom='true' android:layout_centerHorizontal='true' android: android:text='點(diǎn)擊翻轉(zhuǎn)'/></RelativeLayout>四、總結(jié)

最后將button的點(diǎn)擊事件改成屏幕監(jiān)聽(tīng)事件即可。

到此這篇關(guān)于Android如何實(shí)現(xiàn)翻轉(zhuǎn)動(dòng)畫(huà)效果的文章就介紹到這了,更多相關(guān)Android實(shí)現(xiàn)翻轉(zhuǎn)動(dòng)畫(huà)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 泰国试管婴儿_泰国第三代试管婴儿_泰国试管婴儿费用/多少钱_孕泰来 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | 乐考网-银行从业_基金从业资格考试_初级/中级会计报名时间_中级经济师 | 奥运星-汽车性能网评-提供个性化汽车资讯 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 菲希尔X射线测厚仪-菲希尔库伦法测厚仪-无锡骏展仪器有限责任公司 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 石英粉,滑石粉厂家,山东滑石粉-莱州市向阳滑石粉有限公司 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 陶氏道康宁消泡剂_瓦克消泡剂_蓝星_海明斯德谦_广百进口消泡剂 | 工业胀紧套_万向节联轴器_链条-规格齐全-型号选购-非标订做-厂家批发价格-上海乙谛精密机械有限公司 | 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 生物除臭剂-除味剂-植物-污水除臭剂厂家-携葵环保有限公司 | 数码管_LED贴片灯_LED数码管厂家-无锡市冠卓电子科技有限公司 | 成都珞石机械 - 模温机、油温机、油加热器生产厂家 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | 衬塑设备,衬四氟设备,衬氟设备-淄博鲲鹏防腐设备有限公司 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 400电话_400电话申请_888元包年_400电话办理服务中心_400VIP网 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 安徽合肥项目申报咨询公司_安徽合肥高新企业项目申报_安徽省科技项目申报代理 | 真空上料机(一种真空输送机)-百科| 流变仪-热分析联用仪-热膨胀仪厂家-耐驰科学仪器商贸 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | 武汉宣传片制作-视频拍摄-企业宣传片公司-武汉红年影视 |