Android学习笔记:Android基础知识总结

 

一、布局管理器

a)         线性布局

                        i.              有点像AWT编程中的FlowLayout,不同的是,Android的线性布局不会换行,当组件一个挨着一个的排列到头之后,剩下的组件将不会被显示出来;而FlowLayout中的组件会换行;

                      ii.              线性布局没有layout_gravity属性,设置无效。

 

b)        表格布局

                        i.              设置某列被设为Shrinkable,那么该列的所有单元格的宽度可以被收缩。

                      ii.              设置某列被设为Stretchable,那么该列的所有单元格的宽度可以被拉伸。

                    iii.              设置某列被设为Collapsed,那么该列的所有单元格会被隐藏。

 

c)         帧布局

                        i.              帧布局最有代表性的霓虹灯效果的原理:

For(int i=0;i<7-currentColor;i++){

       Views[i].setBackgroundResource(colors[i+currentColor]);

}     

For(int i=7-currentColor,j=0; i<7; i++,j++){

       Views[i].setBackgroundResource(colors[j]);

}


 

                      ii.               

 

       Px(像素):每个px对应屏幕上的一个点。

Dip或dp:一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dip=1px。但随着屏幕密度的改变,dip与px的换算会发生改变。

Sp:主要处理字体的大小,可以根据用户的字体大小首选项进行缩放。

In:标准长度单位。

Mm:标准长度单位。

Pt:标准长度单位,1/72in

 

 

 

 

 

 

二、View子类

a)         时钟(AnalogClock、DigitalClock、Chronometer)

                        i.              第一第二个为模拟时钟和数字时钟,第三个为计时器。

                      ii.              Chronometer的用法:

                             1.         setBase(long base):设置计时器的起始时间

                             2.         setFormat(String format):设置显示时间的格式

                             3.         start():开始计时

                             4.         stop():停止计时

                             5.         setOnChronometerTickListener(Chronometer.OnChronometerTickListener):为计时器绑定时间监听,当计时器改变时触发该监听器。

                    iii.              获取系统时间的种类和区别(SystemClock):

                             1.         System.currentTimeMillis(): 该时间是基于世界时间的,它返回的是从January 1, 1970 00:00:00 UTC到现在时间已经逝去了多多少millisecond,当我设置Android手机的系统时间时,会应该影响该值.

                             2.        uptimeMillis(): 它表示的是手机从启动到现在的运行时间,且不包括系统sleep(CPU关闭)的时间,很多系统的内部时间都是基于此,比如Thread.sleep(millls)Object.wait(millis), and System.nanoTime()

                             3.         elapsedRealtime(): 它表示的是手机从启动到现在的运行时间,且包括系统sleep(CPU关闭)的时间。

 

b)        图像视图(ImageView)

                        i.              使用之前最好先如下操作:

BitmapDrawable bitmapDrawable = (BitmapDrawable)image.getDrawable();

If(!bitmapDrawable.getBitmap().isRecycled())

{

              bitmapDrawable.getBitmap().recycle();

}

然后再设置image的值。

                      ii.              通过image可以得到Drawable对象,然后可以得到Bitmap对象,我们的主要操作都是针对Bitmap进行的,image只是在手机上显示的区域,而Bitmap则是你真实的图片,大小与显示的区域有不同。比如我们点击图片上某一个点,这个点的坐标是相对于image的坐标,但是如果我们需要对真实的图片进行操作的话,则需要将这个点的坐标进行相应的缩放倍数的增减。

 

c)         日期、时间选择器(DataPicker和TimerPicker)

                        i.              两个组件通过OnDataChangedListener、OnTimerChangedListener进行监听。

                      ii.              两个组件绑定鉴定的方式略有不同:

1.         dataPicker.init(year,month,day,new OnDataChangeListener(){

public void onDataChange(Datapicker arg0,int year,int month,int day){

       ChooseData.this.year = year;

       ….

       ….

}

}

2.         timerPicker.setOnTimerChangedListener(new OnTimerChangedListener(){

public void onTimerChanged(TimerPicker arg0,int hour,int minute){

       ChooseData.this.hour = hour;

       ….

}

}

             

d)        进度条——显示在标题上的进度条

                        i.              启用显示进度的进度条:

requestWindowFeature(Window.FEATURE_PROGRESS);

显示:

setProgressBarVisibility(true);

                      ii.              启用不显示进度的进度条:

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

显示:

setProgressBarIndeterminateVisibility(true);

 

e)         拖动条(SeekBar)

                        i.              通过改变android:thumb属性来改变拖动条中滑块的样式,指定一个Drawable对象。

                      ii.              绑定一个OnSeekBarChangeListener监听器,实现onProgressChanged方法。

 

f)         选项卡(Ta

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值