我的Android第三章
先看效果图.
点击之后出变成
按钮内容改变了,并且弹出一个小提示
下面我们就来看看如何实现这个小案例
1)先打开string.xml文件,把要定义的字符串资源放置在里面
2)然后我们要画页面,基本Android开发都是先画页面
从页面中可以看到需要一个按钮,找到android项目中的activity_main.xml文件打开
再往下看,进入activity_main.xml页面后的步骤
这里解释一下代码的意思:
<Button/>指的是定义一个Button控件 ,它直接显示在我们的activity_main.xml中,等于是我们往界面文件中添加了一个button
属性:android控件有很多属性,我们这里不一一列举,主要讲一下上面几个属性的作用
android:id="@+id/button"-->
该属性的作用是:给当前的Button控件指定一个唯一值
值得意思是:给当前这个Button控件在R.java文件中添加一个句柄值,用来方便管理这个Button控件
android:layout_width:
作用:指定Button控件的宽度;
值:有wrap_content:根据内容宽度变化,内容有多宽,就有多宽
fill_parent:扩展到父元素的宽度
match_parent:扩展到父元素的宽度,与fill_match相同
也可以指定像素值也就是具体值:单位主要有,sp,px,dp[dpi],例如android:layout_width="10px"
andoid:layout_height
与android:layout_height相同
此时可以如果直接运行可以看到界面已经画出来了,只是点击还没有效果
所以需要在MainActivity.java中插入代码
这里我们要注意的方法就是
第一:findViewById();这个方法是MainActivity继承自Activity类的方法,它通过句柄值可以直接放回控件的对象
第二:setOnClickListener():这是给控件设置一个点击监听的方法,这个方法需要一个接口参数的实例,这里使用了匿名内部类的写法,不了解的可以先去看一下匿名内部类
第三:setText():方法修该控件的值
第四:Toast.makeText(context, resId, duration);
第一个参数context指的是需要一个上下文对象,可以通过MainActivity继承的方法getApplicationContext()直接获得上下文对象,也可以直接使用MainActivity
这里就有疑问了,为什么要的Context对象getApplicationContext()返回的是Context可以理解,为什么,MainActivity也可以呢,我们这里来看一下图片
,我们查看一下Activity类
,在查看Activity的父类,
,在往上查看
可以看到,Activity间接继承了Context,所以这里我们可以直接使用MainActivity做参数
第二个参数:resId设置提示的信息
第三个参数: 设置提示信息的时间Toast.LENGTH_LONG指的是常量1 , Toast.LENGTH_SHORT指的是整形常量0
好了,以上基本上就是我们的基本的一个小案例了