Android中SlidingDrawer利用透明动画提示效果

android:gravity=“center”

android:background=“@mipmap/drawer_bg”>

<ImageView

android:id=“@+id/demo_lv_up1”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:src=“@mipmap/drawer_arrow_up”/>

<ImageView

android:id=“@+id/demo_lv_up2”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:src=“@mipmap/drawer_arrow_up”/>

<RelativeLayout

android:background=“#ffffff”

android:id=“@+id/demo_ll_content”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:orientation=“vertical”>

<TextView

android:layout_centerInParent=“true”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

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 AppCompatActivity {

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();

}

});

}

如何成为Android高级架构师!

架构师必须具备抽象思维和分析的能力,这是你进行系统分析和系统分解的基本素质。只有具备这样的能力,架构师才能看清系统的整体,掌控全局,这也是架构师大局观的形成基础。 你如何具备这种能力呢?一是来自于经验,二是来自于学习。

架构师不仅要具备在问题领域上的经验,也需要具备在软件工程领域内的经验。也就是说,架构师必须能够准确得理解需求,然后用软件工程的思想,把需求转化和分解成可用计算机语言实现的程度。经验的积累是需要一个时间过程的,这个过程谁也帮不了你,是需要你去经历的。

但是,如果你有意识地去培养,不断吸取前人的经验的话,还是可以缩短这个周期的。这也是我整理架构师进阶此系列的始动力之一。


成为Android架构师必备知识技能

对应导图的学习笔记(由阿里P8大牛手写,我负责整理成PDF笔记)

部分内容展示

《设计思想解读开源框架》

  • 目录
  • 热修复设计
  • 插件化框架设计

    《360°全方面性能优化》
  • 设计思想与代码质量优化
  • 程序性能优化

23546451186)]

  • 插件化框架设计
    [外链图片转存中…(img-ooM08wFS-1723546451186)]
    《360°全方面性能优化》
    [外链图片转存中…(img-AflvOFA3-1723546451187)]
  • 设计思想与代码质量优化
    [外链图片转存中…(img-OKWiN8HL-1723546451187)]
  • 程序性能优化
    [外链图片转存中…(img-DNPe7PxC-1723546451187)]
  • 10
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值