刚开始学习Android,好记性不如烂笔头,还是多记下来好一些。内容为是一些学习笔记,从易到难,用作记录和以后参考。
基本控件
1. TextView
TextView是一般的文本显示控件,首先需要在布局文件中对TextView进行设置:
1. <TextView
2. android:id="@+id/myTextView"//设置该TextView的id
3. android:layout_width="fill_parent"
4. ... ...//3~5之间的都为设置TextView的样式
5. android:layout_height="wrap_content"
6. android:text="@string/hello"//设置该TextView的内容,可以直接赋予字符串,也可以设置strings.xml中定义过的字符串
7. />
当布局文件中定义完之后,然后可在需要该添加控件的Activity中,通过id来使用设置好的TextView。
1. TextView myTextView = (TextView)findViewById(R.id.myTextView);
也可以这个时候对myTextView的属性样式等进行改变,或者对该TextView进行监听事件的绑定。
2. EditText
EditText控件是文本输入框控件,和其他控件一样,首先要在布局文件中定义该控件的基本信息和样式设置。
1. <EditText
2. android:id="@+id/myEditText"//设置EditText的id,以便在程序中能通过取得该id对应的R.java中的值,从而来取得该控件
3. android:layout_width="fill_parent"
4. ... ... //设置一些样式和属性
5. android:layout_height="wrap_content"
6. />
当布局文件中定义完之后,然后可在需要该添加控件的Activity中,通过id来使用设置好的EditText。
1. EditText myEditText = (EditText)findViewById(R.id.myEditText);
也可以这个时候对myEditText的属性样式等进行改变,或者对该EditText进行监听事件的绑定。当然最主要的是通过getText()方法可以获得输入框内的内容。
1. String myEditText = myEditText.getText().toString();
3. Button
Button控件为按钮控件,首先在布局文件中定义设置Button控件。
1. <Button
2. android:id="@+id/myButton"
3. android:layout_width="fill_parent"
4. .... ... //设置button样式
5. android:layout_height="wrap_content"
6. android:text="@string/button"//设置button上面的字
7. />
Button设置完之后,就可以在java程序中使用该button了,同时可以对该button的样式进行改变,当然最重要的是对Button进行事件的绑定。
1. Button myButton = (Button)findViewById(R.id.myButton);
2. myButton.setOnClickListener(new MyClickListener());//为myButton绑定点击事件监听
1. class MyClickListener implements OnClickListener{//内部类实现OnClickListener接口
2. publicvoid
3. // TODO Auto-generated method stub
4. Toast.makeText(Demo001Activity.this, myEditText.getText().toString(), Toast.LENGTH_LONG).show();//将我们在EditText里面输入的内容弹出来
5. }
6. }
非常简单,但最重要的是需要知道在Java程序里是如何使用布局文件中设置好的控件的。在gen的目录下面,有一个R.java的自动生成的文件,当你在布局文件中设置新的控件时,对应的id就会在R.java中对应一个public static final int 型的标识,我们使用的时候,只需要使用控件在R.java中的标识就可以了。当然不只是控件,其他所有的资源文件,包括图片等,都会在R.java中自动生成标识,以供我们使用。
转载于:https://blog.51cto.com/theron/642976