• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android新手入门2016(16)--画图

Android新手入门2016(16)--画图

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android canvas画图,android 画图,android画图代码,android画图板,android studio 画图等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android新手入门2016(16)--画图


画图设计到图片的格式,有空可以看看图片资源各种格式。了解一下图片格式,对学习有用的。而且我面试别人的时候也很喜欢问这个问题,哈哈。

先看个图。

\\

直接看代码吧,注释很详细了。

activity_hello_world.xml

 

  
  
	  
  
  
HelloWorldActivity.java

 

 

package com.fable.helloworld;  
  
import android.app.Activity;  
import android.content.res.Resources;
import android.graphics.Bitmap;  
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class HelloWorldActivity extends Activity {  
	
	ImageView iv;  
    Button btn1,btn2,btn3;  
    Resources r;  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_hello_world);  
        
        iv=(ImageView)this.findViewById(R.id.ImageView01);  
        btn1=(Button)this.findViewById(R.id.Button01);  
        btn2=(Button)this.findViewById(R.id.Button02);  
        btn3=(Button)this.findViewById(R.id.Button03);  
  
        btn1.setOnClickListener(new ClickEvent());  
        btn2.setOnClickListener(new ClickEvent());  
        btn3.setOnClickListener(new ClickEvent());  
          
        r = this.getResources();  
    }  
    class ClickEvent implements View.OnClickListener {  
  
        public void onClick(View v) {  
            if(v==btn1)//显示资源图片  
            {
            	//功能等效  
                //iv.setBackgroundResource(R.drawable.fable5);//打开资源图片  
                Bitmap bmp=BitmapFactory.decodeResource(r, R.drawable.fable5);//打开资源图片  
                iv.setImageBitmap(bmp);  //显示图片
            }  
            else if(v==btn2)//显示并绘画资源图片  
            {  
                Bitmap bmp=BitmapFactory.decodeResource(r, R.drawable.fable5);//只读,不能直接在bmp上画  
                Bitmap newb = Bitmap.createBitmap( 300, 300, Config.ARGB_8888 );//创建一个新的位图
                  
                Canvas canvasTemp = new Canvas( newb );//画布,画布,用newb的内容来画在画布上
                canvasTemp.drawColor(Color.TRANSPARENT);//设置画布的背景颜色为透明TRANSPARENT
                  
                Paint p = new Paint();//画笔,哈哈,有点意思吧,又画布又画笔的
                String familyName ="宋体";//使用宋体,可以使用非系统的字体,游戏中很多字体是特殊的,需要放在assets/fonts/
                Typeface font = Typeface.create(familyName,Typeface.BOLD);//加粗
                p.setColor(Color.RED);  //画笔颜色为红色
                p.setTypeface(font);  //设置字体
                p.setTextSize(24);  //字体大小
                canvasTemp.drawText("肥宝传说之路",50,50,p); //在画布上画上几个字
                canvasTemp.drawBitmap(bmp, 50, 50, p);//在画布上画上刚刚读出来的fable5
                //上面的东西都是画在画布上的newb图上面的。
                iv.setImageBitmap(newb);  //显示这个新的图片
            }  
            else if(v==btn3)//直接在Button上绘图  
            {  
                Bitmap newb = Bitmap.createBitmap( btn3.getWidth(), btn3.getHeight(), Config.ARGB_8888 ); //创建一个图 
                Canvas canvasTemp = new Canvas( newb );//把图放在画布上面  
                canvasTemp.drawColor(Color.WHITE);//背景颜色是白色  
                Paint p = new Paint();  //画笔
                String familyName = "宋体";  //使用宋体
                Typeface font = Typeface.create(familyName, Typeface.BOLD);  //设置字体
                p.setColor(Color.BLUE);  //蓝色
                p.setTypeface(font);  //设置画笔的字体
                p.setTextSize(24);  //字体的大小
                canvasTemp.drawText("Android新手入门2016", 14, 24, p);  //写几个字,xy不要填太大,超过按钮大小位置就找不到了
                Drawable drawable = new BitmapDrawable( getApplicationContext().getResources(), newb); //其实这个看的不是很明白 
                btn3.setBackgroundDrawable(drawable);  //把这个图当做按钮的背景
            }  
        }  
    }  
}

代码稍后上传。
\\

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android新手入门2016(16)--画图
  • Android中自定义视图View之---进阶篇(Canvas的使用)
  • 53.Android Canvas Paint相关内容介绍

相关文章

  • 2017-05-26Native SBS for Android,nativeandroid
  • 2017-05-26Android之SQLite数据存储,androidsqlite
  • 2018-01-28Android广播机制
  • 2017-05-26六款值得推荐的android(安卓)开源框架简介(转),android安卓
  • 2017-05-26仿拉手团购App2--当前城市选择Activity,app2--activity
  • 2017-05-26JSON解析和XML解析对比,JSON解析XML解析
  • 2017-05-26zabbix监控tomcat出现"Connection refused to host: 127.0.0.1"的故障解决
  • 2017-05-26Android 无标题 全屏设置,android无标题全屏
  • 2017-05-26Android 查看自己的keystore的别名及相关信息,androidkeystore
  • 2017-05-26Android开发学习之路--图表实现(achartengine/MPAndroidChart)之初体验

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android Studio SugarORM No Such Table,androidsugarorm
    • Android Studio添加Parcelable序列化小工具(快速提高开发效率)
    • Android开发之初识MVP模式
    • Android EditText只有下面有一条横线问题
    • Android中实现APP文本内容的分享发送与接收方法简述,androidapp
    • android列表停止滚动,加载图片,较为通用的一种办法,
    • [转载] 从Handler.post(Runnable r) ,Handler.sendEmptyMessage()梳理Android的消息机制(以及handler的内存泄露),
    • 安卓第十四天笔记-内容提供者(ContentProvider),contentprovider
    • 安卓ProgressBar水平进度条的颜色设置
    • android开发零基础入门教程,android入门教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有