android学习笔记UI-ImageView
2015-07-30 02:50
429 查看
最近学一下ImageView这个控件,毕竟代码还是写着心里有底!
我是参考<android应用开发揭秘>这本书的代码来学习,虽然学得糊里糊涂,至少还是体会到其中的乐趣!闲话好像说多了,直奔主题
书本是利用一个线程来慢慢的减低图片的透明度,然后我直接copy书本的代码然后发现了一些细节吧!喔,忘了说,用的是android studio(AS),版本是android4.0的,不知道为什么2.3这个版本我下载不了...若有大神出来说说原因不胜感激,不过4.0,5.0版本感觉也是可以这样来学了,毕竟已经是主流的android版本了
这是布局
这是书本的代码,其中有些地方被我改了,改了的部分用红色字体
一开始我完全copy书本的代码时候,没想过android版本的问题,没想到模拟器上面的时候,无论那个alpha的值减低到多少图片都没反应,但减到0的时候,图片就直接不见了,应该是透明度为0吧,后来查了一下,网络说的是API16之前的setAlpha还是有用的,但之后就不流行了,改成是setImageAlpha的了,所以这里给大家说说,注意一下android的版本吧或者这么说注意一下API的等级!
我是参考<android应用开发揭秘>这本书的代码来学习,虽然学得糊里糊涂,至少还是体会到其中的乐趣!闲话好像说多了,直奔主题
书本是利用一个线程来慢慢的减低图片的透明度,然后我直接copy书本的代码然后发现了一些细节吧!喔,忘了说,用的是android studio(AS),版本是android4.0的,不知道为什么2.3这个版本我下载不了...若有大神出来说说原因不胜感激,不过4.0,5.0版本感觉也是可以这样来学了,毕竟已经是主流的android版本了
这是布局
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_above="@+id/textView" android:layout_alignParentEnd="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/textView" android:layout_alignParentBottom="true" android:layout_alignParentStart="true" android:layout_alignParentEnd="true" /> </RelativeLayout>
这是书本的代码,其中有些地方被我改了,改了的部分用红色字体
ImageView imageView; int alpha = 255; //ImageView的Alpha值 boolean isruning = false; //控制线程 Handler handler = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); isruning = true; imageView = (ImageView)findViewById(R.id.imageView); textView = (TextView) findViewById(R.id.textView); imageView.setImageResource(R.drawable.test01); imageView.<span style="color:#FF0000;">setImageAlpha</span>(alpha); //书本是setAlpha //开启一个线程让Alpha的值递减 new Thread(new Runnable() { @Override public void run() { while (isruning) { try { Thread.sleep(1000); Update(); } catch (InterruptedException e){ e.printStackTrace(); } } } }).start(); //接收消息之后更新ImageView的视图 handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); imageView.<span style="color:#CC0000;">setImageAlpha</span>(alpha); textView.setText("Now:" + Float.toString(alpha)); imageView.invalidate(); } }; } private void Update() { if(alpha - 7 >= 0) { alpha -= 7; } else { alpha = 0; isruning = false; } handler.sendMessage(handler.obtainMessage()); }
一开始我完全copy书本的代码时候,没想过android版本的问题,没想到模拟器上面的时候,无论那个alpha的值减低到多少图片都没反应,但减到0的时候,图片就直接不见了,应该是透明度为0吧,后来查了一下,网络说的是API16之前的setAlpha还是有用的,但之后就不流行了,改成是setImageAlpha的了,所以这里给大家说说,注意一下android的版本吧或者这么说注意一下API的等级!
相关文章推荐
- 压缩Gradle构建 (Squeezing your Gradle builds)
- apue 第十二章 线程控制
- Criteria Query—Hibernate之面向对象查询
- Unique Binary Search Tree II ***
- 点评版:函数源代码 strcpy/memcpy/atoi/kmp/quicksort
- UGUI实现摇杆(模仿太极熊猫)
- IOS开发之UISearchBar应用
- apc220使用心得
- Ueditor1.4.3上传图片参照宽度或高度进行压缩(默认最长边)
- 【UI-基础】富文本
- Unique Binary Search Tree
- UI007---KVC
- android菜鸟笔记之UI线程阻塞
- Unable to build the default ValidatorFactory
- codeforce Gym 100570B ShortestPath Query (最短路SPFA)
- easyui的datebox限定范围
- QuickContackBadge学习笔记
- serialVersionUID 的作用
- UIButton
- GCD介绍(一):基本概念和Dispatch Queue