本站已关停,现有内容仅作科研等非赢利用途使用。特此声明。
查看: 1520|回复: 0
打印 上一主题 下一主题

第Ⅱ期Android菜鸟饭团#Android学习#第八课 活动笔记

[复制链接]
跳转到指定楼层
1#
发表于 2015-11-28 21:17:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
第Ⅱ期Android菜鸟饭团#Android学习#第八课 活动笔记


一、基础知识
        1.LinearLayout(线性布局)介绍:
1)线性布局是程序中最常见的一种布局方式,线性布局可以分为水平线性布局和垂直线性布局两种, 通过androidrientation属性可以设置线性布局的方向;
2)在LinearLayout中设置排列方式为水平时只有垂直方向的设置是有效的,水平方向的设置是无效的:即left,right,center_horizontal 是不生效的;
3)在LinearLayout中设置排列方式为垂直时只有水平方向设置是有效的,垂直方向的设置是无效的是无效的:即top,botton,center_vertical 是无效的;效果图:
2.RelativeLayout(相对布局)介绍:
1)RelativeLayout 允许子元素指定他们相对于其它元素或父元素的位置(通过ID 指定)2.因此,你可以以右对齐,或上下,或置于屏幕中央的形式来 排列两个元素。元素按顺序排列,因此如果第一个元素在屏幕的中央,那么相对于这个元素的其它元素将以屏幕中央的相对位置来排列;
2)如果使用XML 指定这个 layout ,在你定义它之前,被关联的元素必须定义;效果图:
3.看UI界面画布局树状图
        UI界面:
树状图如下:
3.轻触OPDER在界面上显示出“Thank  you!”字样:
需要在MainActivity.java中添加下面两段文字:


二、问题总结
1.pulic viod increment(View view)其中的参数是啥意思,可不可以去掉?
         
1)public void increment(View view )View类的对象v作为参数传入incrementt函数,至于View具体是什么类需要根据实际情况来看,此方法的方法名称是:increment;
2)此方法传递的是一个参数,参数的类型是View类型,赋予此类型的变量名称是v;此方法的返回值为“空”,也就是说没有返回值;此方法的可使用范围为全工程(public表示的是全工程、private表示的是此类中);
3)如果想调用此方法的话:
View view = new view();
B b =new B()';
B.onclick(view);
以上方法就模拟了此方法的调用。v是实际的函数参数,View是参数v的类型
public void incrementk(View v) {//当事件发生时会调用这个increment方法
        4)每一个View都有一个Id(R.id.viewId)、在你increment(View v)这个方法中、v既是你点击对象的view、但是怎么去判断是不是你点击的那个view就直接可以由v.getId() == R.id.viewId来判断是否为点击事件的view
5)用于区分不同的view控件,假如increment的对象不是一个控件,而是多个控件的时就要这个View来区分
2.setText()参数类型
1)setText(int resid) 这个方法里面的参数是R.string.*,也就是你把字符串已经定义好的;
2)setText(CharSequence text)  这个方法里面的参数可以看做是字符串类型的,这种setText(""+count)方式相当于是把count强制转换成了字符串类型的,或者也可以setText(String.valueOf(count))进行转换,两者都是把int型转换成String型的;
3.类的NumberFormat
的java.lang.Object
java.text.Format子
java.text.NumberFormat中所有已实现的接口:序列化,Cloneable接口直接已知子类:ChoiceFormat,DecimalFormat 的公共抽象类的NumberFormat 扩展格式
的NumberFormat是所有数字格式的抽象基类。这个类提供了接口,用于格式化和分析数字。NumberFormat 的也提供了一些方法来确定哪些语言环境具有数字格式,以及它们的名称是。
的NumberFormat帮助您格式化和分析数字的任何语言环境。您的代码可以完全独立使用的语言环境约定小数点,千位分隔符,甚至是特定的十进制数字,还是数字格式是偶数小数。
要格式化数字为当前区域设置,使用的工厂类方法之一:
MyString的= NumberFormat.getInstance()格式(为mynumber)。
如果格式化多个号码,它是更有效的获得的格式和多次使用,以使系统没有获取关于本地语言和国家约定多次的信息。
NumberFormat的NF = NumberFormat.getInstance();
的for(int i = 0;我<myNumber.length ++我){
     output.println(nf.format(为mynumber [I])+“”);
}
要格式化一个数字不同的语言环境,在调用指定它的getInstance。
NumberFormat的NF = NumberFormat.getInstance(Locale.FRENCH);
你也可以使用一个NumberFormat的解析数字:
为mynumber = nf.parse(MyString的);
使用的getInstance或者getNumberInstance得到正常的数字格式。使用getIntegerInstance得到的整数格式。使用getCurrencyInstance获得货币数字格式。并使用了getPercentInstance获得的格式显示百分比。这种格式,如0.53的馏分显示为53%。
您还可以控制数字的显示用等方法 ,setMinimumFractionDigits。如果你想要更多的控制权,格式化和分析,或者希望给用户更多的控制,你可以尝试铸造的NumberFormat你从工厂方法到获得DecimalFormat的。这适用于语言环境的绝大部分; 只记得把它放在一个尝试如果你遇到一个不寻常的一个街区。
的NumberFormat和DecimalFormat的被设计成使得一些控制工作的格式化和其它用于分析工作。以下是对每个这些控制方法的详细描述,
setParseIntegerOnly:只影响解析,例如,如果属实,“3456.78” - > 3456(并保留解析位置只是索引6之后)如果为false,“3456.78” - > 3456.78(并保留解析位置正好指数8后),这是一个独立的的格式。如果你想不显示小数点那里可能没有小数点后的数字,使用setDecimalSeparatorAlwaysShown。
setDecimalSeparatorAlwaysShown:只影响格式化,并且只有在有可能没有小数点后的数字,如用类似这样的模式,例如,如果是真的,3456.00 - >“3456。”“#,## 0 ##。” 如果为false,3456.00 - >“3456”这是一个独立的解析。如果你想解析停在小数点,使用setParseIntegerOnly。
您还可以使用的形式解析和格式 的方法的ParsePosition和FieldPosition的,让您可以:
通过一串件逐步解析
对齐小数点和其他区域
例如,您可以通过两种方式对齐数字:
如果您使用的是等宽字体与间距排列,您可以通过FieldPosition中您的格式的呼叫,与 现场 = INTEGER_FIELD。上输出时, 则为getEndIndex将被设定为整数和小数的
最后一个字符之间的偏移。添加(desiredSpaceCount -为getEndIndex)位在字符串的前面。
如果您是使用,而不是填充用空格比例字体,测量串像素宽度从一开始就为getEndIndex。绘制文本之前-然后将画笔移动(widthToAlignmentPoint desiredPixelWidth)。它也可以在没有小数点,但可能其他字符结尾,例如,在负数括号:“(12)”为-12。


每一个技术小白都有一个成为大神的梦想,现在Android菜鸟饭团就给你这个成就梦想的机会。我们提供最新的Android技术教学,只要你又耐心和毅力就一定会在这里有所收获。
Android菜鸟饭团南阳GDG组织发起,秉承着开放、分享、创新的原则,希望通过GDG社区的力量能够给更多的想要学习Android开发技术的小白们创造一个学习,交流,分享的环境。同往常的GDG活动一样,我们依然是任性的一个子都不要,并且还在周六的分享中提供盒饭和不定期的惊喜小礼物呦~所以快来加入我们吧,为你的大神梦想迈出第一步。
把你的个人信息和申请理由快快发送到android@chuang1.net,前来加入我们吧

ChinaGDG.com
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表