Android中SlidingDrawer利用透明动画提示效果,终于有人把Android程序员必学知识点全整理出来了

本文详细介绍了如何在Android中使用SlidingDrawer,并通过透明动画实现提示效果。展示了如何设置按钮背景、初始化组件、创建动画以及处理抽屉的打开和关闭事件。此外,还提供了完整代码示例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android:textSize=“26sp”

android:text=“抽屉的内容”/>

<Button

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:text=“我是打酱油的”

android:background="#ff00ff"

/>

Activity中的实现效果的代码:(透明动画)

在这里插入图片描述

Activity代码如下:

public class MyDemo extends AppCompatActivit

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

y {

private ImageView demo_lv_up1;

private ImageView demo_lv_up2;

private LinearLayout demo_ll_handle;

private RelativeLayout demo_ll_content;

private SlidingDrawer demo_sd;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_my_demo);

initView();

//动画的实现

initAnimation();

//抽屉的点击事件

setOnDrawerListener();

}

private void initView() {

demo_lv_up1 = (ImageView) findViewById(R.id.demo_lv_up1);

demo_lv_up2 = (ImageView) findViewById(R.id.demo_lv_up2);

demo_ll_handle = (LinearLayout) findViewById(R.id.demo_ll_handle);

demo_ll_content = (RelativeLayout) findViewById(R.id.demo_ll_content);

demo_sd = (SlidingDrawer) findViewById(R.id.demo_sd);

}

//动画的实现

private void initAnimation() {

demo_lv_up1.setImageResource(R.mipmap.drawer_arrow_up);

demo_lv_up2.setImageResource(R.mipmap.drawer_arrow_up);

//半透明-不透明

AlphaAnimation animation = new AlphaAnimation(0.2f, 1.0f);

animation.setDuration(500);

animation.setRepeatCount(Animation.INFINITE);

animation.setRepeatMode(Animation.REVERSE);

demo_lv_up1.startAnimation(animation);

//不透明-半透明

AlphaAnimation animation1 = new AlphaAnimation(1.0f, 0.2f);

animation1.setDuration(500);

animation1.setRepeatCount(Animation.INFINITE);

animation1.setRepeatMode(Animation.REVERSE);

demo_lv_up2.startAnimation(animation1);

}

//抽屉的点击事件

private void setOnDrawerListener() {

//打开抽屉

demo_sd.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener() {

@Override

public void onDrawerOpened() {

//关闭动画,改变箭头方向

closeAnimation();

}

});

demo_sd.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener() {

@Override

public void onDrawerClosed() {

//改变箭头方向,开启动画

initAnimation();

}

});

}

//关闭动画且改变箭头方向

private void closeAnimation() {

demo_lv_up1.clearAnimation();

demo_lv_up2.clearAnimation();

//改变箭头方向

demo_lv_up1.setImageResource(R.mipmap.drawer_arrow_down);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值