[Android课堂笔记] 2D Graphic图形绘制全解析
来源:互联网 发布:cad看图软件 编辑:程序博客网 时间:2024/05/19 13:23
原文来自Coursera课程
Programming Mobile Applications for Android Handheld Systems: Part 2 - Week7 Graphics and Animation
链接:https://class.coursera.org/androidpart2-004/wiki/Week7_Overview
关于2D图形界面的绘制,主要有两种选择。一是绘制到View视图,另一个是绘制到Canvas画板。
绘制的对象,我们使用Drawable类来实现。Drawable的含义是可供绘制的事物,比如颜色、形状、图片。
实现的时候,有两种方法,可以通过XML,或者Java编程来实现。以下两个例子都是用于实现一个静态显示在屏幕中央的泡泡。
示例1:GraphicsBubbleXML
实现方法:
//BubbleActivity.javapublic class BubbleActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}}
main.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/frame" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/imageView1" android:layout_width="250dp" android:layout_height="250dp" android:layout_centerInParent="true" android:contentDescription="@string/bubble_desc" android:src="@drawable/b128" /></RelativeLayout>
泡泡的图片b128放置在res/drawable-nodpi目录下
示例2:GraphicsBubbleProgram
BubbleActivity.java
<pre class="java" name="code">public class BubbleActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//获取当前的Layout对象RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.frame);//创建bubbleView对象,并将资源文件中的图片传入到对象中ImageView bubbleView = new ImageView(getApplicationContext());bubbleView.setImageDrawable(getResources().getDrawable(R.drawable.b128));//设置BubbleView的高度和宽度//这两个参数单独存放在res/values/dimen.xml文件中int width = (int) getResources().getDimension(R.dimen.image_width);int height = (int) getResources().getDimension(R.dimen.image_height);RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width, height);params.addRule(RelativeLayout.CENTER_IN_PARENT);//将参数传入bubbleView对象bubbleView.setLayoutParams(params);//使用Layout.addView()方法将bubbleView对象加入到Layout当中显示relativeLayout.addView(bubbleView);}}
main.xml 布局文件就只需要定义最外围的Layout
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/frame" android:layout_width="match_parent" android:layout_height="match_parent" ></RelativeLayout>
dimens.xml
<?xml version="1.0" encoding="utf-8"?><resources> <dimen name="image_width">250dp</dimen> <dimen name="image_height">250dp</dimen></resources>
0 0
- [Android课堂笔记] 2D Graphic图形绘制全解析
- Android 绘制2D图形
- Android 绘制2D图形
- Android 2D图形绘制
- Android 2D图形绘制 汇总
- Android中绘制2D图形基础
- Android 2D Graphic Architecture
- java 2D图形绘制
- Android使用Canvas绘制2D图形基础
- 安卓中绘制2D、3D图形
- Android shape 绘制图形笔记
- Android OpenGL ES 3D图形绘制
- Android 4.4 Graphic 图形架构
- 3d世界尽在掌握!—— directx 8.1/9 graphic 全解析
- graphic绘制闭合曲线问题,以及绘制环形图形
- android graphic笔记
- iOS -- 图形绘制(全)
- iOS -- 图形绘制(全)
- fiddler的使用
- MSSQL 的 PIVOT 和 UNPIVOT 函数
- 算法 归并排序
- 光光的作业
- Hadoop入门进阶课程13--Chukwa介绍与安装部署
- [Android课堂笔记] 2D Graphic图形绘制全解析
- 杭电ACM 2071:Max Num
- 主流流媒体服务器介绍
- UI_UIImagePickerController(读取图片)
- Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
- 调用系统的 打电话 发邮件 发送短信
- Android NDK编译C/C++结合Unity实现本地数据共享(二十八)
- web.xml中的相关配置
- android中进入界面时软件盘默认隐藏的设置方法