Android中使用ClipDrawable实现缓缓打开一张图片的效果

编程入门 行业动态 更新时间:2024-10-25 20:24:58

Android中使用ClipDrawable实现缓缓打开一张图片的<a href=https://www.elefans.com/category/jswz/34/1770448.html style=效果"/>

Android中使用ClipDrawable实现缓缓打开一张图片的效果

1.clipdrawable.xml

<?xml version="1.0" encoding="utf-8"?>
<clip xmlns:android=""android:drawable="@mipmap/ic_launcher"android:clipOrientation="horizontal"android:gravity="center">
</clip>

2.activity_main.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.qd.clipdrawable.MainActivity"><ImageView
            android:id="@+id/imageView"android:layout_width="fill_parent"android:layout_height="fill_parent"android:src="@drawable/clipdrawable"/></RelativeLayout>

3.代码实现

public class MainActivity extends AppCompatActivity {private Timer mTimer;private Handler mHandler;private ImageView mImageView;private ClipDrawable mClipDrawable;private final int FLAG=9527;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}private void init(){mImageView=(ImageView) findViewById(R.id.imageView);mClipDrawable=(ClipDrawable) mImageView.getDrawable();mHandler=new Handler(){@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);if (msg.what==FLAG) {//不断修改Level值,达到徐徐展开的效果mClipDrawable.setLevel(mClipDrawable.getLevel()+500);}}};mTimer=new Timer();mTimer.schedule(new TimerTask() {@Overridepublic void run() {Message message=new Message();message.what=FLAG;mHandler.sendMessage(message);if (mClipDrawable.getLevel()>=10000) {mTimer.cancel();}}}, 0, 300);}}

4.运行效果图

更多推荐

Android中使用ClipDrawable实现缓缓打开一张图片的效果

本文发布于:2024-02-25 21:25:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1700341.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:效果   图片   Android   ClipDrawable

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!