Android编程实例 Step by Step (1)

先说两点:
关于这篇文章就是本人学习android的一个笔记,也就是一个过程的记录。不算什么,有什么错误的话,是正常的。我的经验不是用Shared的,就是一个记录
关于Android 的安装等等的过程,这些从网上就能搜索到,这边就不记录了。直接从我学的实例入手

实例:添加bmp的显示

View的继承

1. public class DrawView extends View{}

2. View的三个构造函数:

注意:这个三个构造函数,编译的时候提示说只要一个就可以使用了,实际上不是的,如果不实现就有可能在XML的描述文件和代码的配合上出问题 。

    public DrawView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }
    public DrawView(Context context, AttributeSet attrs){
        super(context, attrs);
    }
    public DrawView(Context context, AttributeSet attrs, int defStyle){
        super(context, attrs, defStyle);
    }

 

AttrbuteSet和defStyle是把XML描述中的Attrs和Style相关的属性传给这个类。所以如果不实现这个,就会在(View)-强制转换->DrawView的时候出错.

 

3. View的OnDraw函数覆盖 @Override

OnDraw函数需要覆盖重写

    public void onDraw(Canvas canvas)
    {
        super.onDraw(canvas);
    }

 

Activity类的继承

Activity类是app运行的时候的入口类,有关这个类的说明和他的函数可以在很多地方找到使用方法。这不说了

1. setContentView函数:

    这个函数可以用两个方式设置View,

      a) SetContentView(<resourceid>);

      b) SetContentView(new View(this));

    这两个方式正好就是使用外部资源和自己使用代码布局的两种方式,需要深入理解下 。

 

2. findViewById(<resourceid>)

举例:

    DrawView dview = (DrawView)findViewById(R.id.View01);

这个函数用来获取资源中某个id对应的View实例, 这里面有两点需要注意

a) R

资源的定义,这个定义实际是在gen包里面的资源id定义。有点像VC中的Resource.h文件

b) (DrawView)强制类型转换,必须要注意在DrawView函数中的构造函数必须要实现,否则运行时就会出错。

 

图片加载

正好我自己写了一个能直接读取Bitmap的函数,记录如下:

    private Bitmap LoadBitmapFromRes(int ResID, int bmpWidth, int bmpHeight)
    {
        Resources r = getResources();
        Drawable tile =  r.getDrawable(ResID);
        Bitmap bitmap = Bitmap.createBitmap(bmpWidth, bmpHeight, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        tile.setBounds(0, 0, bmpWidth, bmpHeight);
        tile.draw(canvas);
        return bitmap;
    }

 

LinerLayout:

这个内容,别的不说,就说一个:

1) Orientation属性

如果想做成没列形式的,就注意把这个属性设置成Vertical

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值