第Ⅱ期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活动一样,我们依然是任性的一个子都不要,并且还在周六的分享中提供盒饭和不定期的惊喜小礼物呦~所以快来加入我们吧,为你的大神梦想迈出第一步。
|