Android学习05-Android中的基本控件(下)

Android学习05-----Android中的基本控件(上)java.lang.Object? android.view.View? android.widget.TextVi

Android学习05-----Android中的基本控件(上)

java.lang.Object ? android.view.View ? android.widget.TextView

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textViewId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#FFFF00" android:textSize="20px" android:layout_margin="30px" android:text="@string/hello" /><!-- 注意这里的文字大小必须有大小单位 --><!-- 这里margin和Css一致 --><TextView android:id="@+id/textViewId2" android:layout_width="wrap_content" android:layout_height="wrap_content"android:background="@drawable/james"android:textColor="#000000"android:textStyle="bold" android:text="图片背景文字内容" /><!-- 注意这里的资源名称必须为[a-z0-9_.] --><TextView android:id="@+id/textViewId3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="all"android:textColor="#FFFF00"android:textSize="25px" android:text="博客地址:www.xdwangiflytek.iteye.com" /><!-- android:autoLink="all"如果是网址信息,可以将其变为链接 --><!-- 注意这里需要是英文冒号 --><!-- 通过上面的Demo我们可以发现如果一个项目中定义了多个文本组件,那么这可能会存在着许多重复的配置属性,这样的话对于开发维护就很麻烦,所以在Android操作系统中也可以使用样式表文件进行统一的属性配置,样式表定义与values中的string.xml一致,且文件必须在valuse文件夹之中 --> <TextView android:id="@+id/textViewId4" style="@style/msg_style" android:text="@string/hello" /><!-- style定义组件显示的样式风格 --></LinearLayout>

<?xml version="1.0" encoding="utf-8"?><resources> <!-- 定义样式表的配置,其中 “msg_style”为名称--><style name="msg_style"> <item name="android:textSize">25px</item> <item name="android:textColor">#FFFF00</item> <item name="android:autoLink">all</item> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">wrap_content</item></style></resources>

java.lang.Object ? android.view.View ? android.widget.TextView ? android.widget.Button

通过API发现Button是TextView的子类,所有按钮可以理解为一个特殊的文本显示组件,而按钮主要是完成某些事件功能的,这里主要先总结一下按钮的基本配置。

res/layout/button.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <Button         android:id="@+id/buttonId"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:textColor="#FFFF00"        android:textSize="14px"        android:layout_margin="30px"        android:text="@string/user"/></LinearLayout>

?

?

java.lang.Object ? android.view.View ? android.widget.TextView ? android.widget.EditText

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText android:id="@+id/editId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/user" android:selectAllOnFocus="true"/><!-- android:selectAllOnFocus被默认全选 --><EditText android:id="@+id/editId2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/user" android:enabled="false"/> <!-- 不可编辑 --> <EditText android:id="@+id/editId3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/user" android:password="true"/> <!-- 采用密码形式进行数据回显,此时是密文 --> <EditText android:id="@+id/editId3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:numeric="integer"/> <!-- 数字输入 --></LinearLayout>

java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.LinearLayout ? android.widget.RadioGroup

java.lang.Object ? android.view.View ? android.widget.TextView ? android.widget.Button ? android.widget.CompoundButton ? android.widget.RadioButton

?

res/layout/ radiogroup.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >   <TextView         android:id="@+id/txId"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:textSize="20px"        android:text="请选择语言:" />      <RadioGroup        android:id="@+id/rgId"       android:layout_width="fill_parent"       android:layout_height="wrap_content"       android:orientation="vertical"       android:checkedButton="@+id/rbCNId">       <!--vertical:垂直 android:checkedButton表示默认选中的单选 -->       <RadioButton            android:id="@+id/rbCNId"           android:text="中文"/>       <RadioButton            android:id="@+id/rbENId"           android:text="英文"/>   </RadioGroup>             <TextView         android:id="@+id/txId2"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:textSize="20px"        android:text="性别:" />      <RadioGroup        android:id="@+id/rgId2"       android:layout_width="fill_parent"       android:layout_height="wrap_content"       android:orientation="horizontal"       android:checkedButton="@+id/rbManId">       <RadioButton            android:id="@+id/rbManId"           android:text="男"/>       <RadioButton            android:id="@+id/rbWomanId"           android:text="女"/>   </RadioGroup></LinearLayout>

?

java.lang.Object ? android.view.View ? android.widget.TextView ? android.widget.Button ? android.widget.CompoundButton ? android.widget.CheckBox

res/layout/ checkbox.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >       <TextView         android:id="@+id/tvId"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="爱好:" />       <CheckBox            android:id="@+id/cbId"           android:layout_width="fill_parent"           android:layout_height="wrap_content"           android:text="上网"/>            <CheckBox            android:id="@+id/cbId2"           android:layout_width="fill_parent"           android:layout_height="wrap_content"           android:text="看书"/>           <CheckBox            android:id="@+id/cbId3"           android:layout_width="fill_parent"           android:layout_height="wrap_content"/>       </LinearLayout>

Activity

package com.iflytek.ViewDemo;import android.app.Activity;import android.os.Bundle;import android.widget.CheckBox;public class ViewProjectActivity extends Activity {private CheckBox checkBox;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.checkbox);this.checkBox=(CheckBox)super.findViewById(R.id.cbId3);this.checkBox.setChecked(true);this.checkBox.setText("唱歌");}}

?

?

java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.AdapterView<T extends android.widget.Adapter> ? android.widget.AbsSpinner ? android.widget.Spinner

Spinner类常用方法

<?xml version="1.0" encoding="utf-8"?><resources><string-array name="city_data"> <item>安徽</item> <item>江苏</item> <item>北京</item></string-array></resources>

res/layout/ spinner.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView         android:id="@+id/tvId"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="请选择喜欢的城市" />    <Spinner         android:id="@+id/spinnerId"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:prompt="@string/city_prompt"        android:entries="@array/city_data"/>    <!-- android:entries配置所有下拉列表框中的显示内容 -->    <!-- android:prompt提示信息 -->    </LinearLayout>

法二,通过android.widget.ArrayAdapter类:
A、配置文件读取方式:
通过ArrayAdapter类中进行读取res/layout/ spinner.xml配置文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView         android:id="@+id/tvId"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="请选择喜欢的城市" />    <Spinner         android:id="@+id/spinnerId2"        android:layout_width="fill_parent"        android:layout_height="wrap_content"/></LinearLayout>

Activity:

package com.iflytek.ViewDemo;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.Spinner;public class ViewProjectActivity extends Activity {private Spinner spinner;private ArrayAdapter<CharSequence> arrayAdapter = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.spinner);this.spinner = (Spinner) super.findViewById(R.id.spinnerId2);this.spinner.setPrompt("请选择您喜欢的城市");this.arrayAdapter = ArrayAdapter.createFromResource(this,R.array.city_data, android.R.layout.simple_spinner_item);this.arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// 换下拉框风格this.spinner.setAdapter(arrayAdapter);// 设置显示信息}}

B、指定具体设置的数据方式:
此时不需要任何的资源文件,都是通过程序代码生成的列表内容
res/layout/ spinner.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView         android:id="@+id/tvId"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="请选择喜欢的城市" />    <Spinner         android:id="@+id/spinnerId3"        android:layout_width="fill_parent"        android:layout_height="wrap_content"/>       </LinearLayout>

Activity

package com.iflytek.ViewDemo;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.Spinner;public class ViewProjectActivity extends Activity {private Spinner spinner;private ArrayAdapter<CharSequence> arrayAdapter = null;private List<CharSequence> datas = null;//定义一个集合数据@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//通过ArrayAdapter读取配置文件的方式setContentView(R.layout.spinner);this.datas = new ArrayList<CharSequence>();this.datas.add("北京");this.datas.add("安徽");this.datas.add("江苏");this.spinner = (Spinner) super.findViewById(R.id.spinnerId3);this.arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item,this.datas);this.arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// 换下拉框风格this.spinner.setAdapter(arrayAdapter);// 设置显示信息}}

?

?

?

java.lang.Object ? android.view.View ? android.widget.ImageView

res/layout/ imageview.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <ImageView         android:id="@+id/imageViewId"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:src="@drawable/james"/>    <!-- 需要注意的是ImageView中的所有图片需要保存在drawable文件夹之中 -->    </LinearLayout>

?

?

java.lang.Object ? android.view.View ? android.widget.ImageView ? android.widget.ImageButton

res/layout/ imagebutton.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <ImageButton         android:id="@+id/imagebtnId"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/ic_launcher"/></LinearLayout>

?

java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.TimePicker

res/layout/ timepicker.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TimePicker        android:id="@+id/tpId"        android:layout_width="fill_parent"        android:layout_height="wrap_content"/></LinearLayout>

java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.DatePicker

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <DatePicker android:id="@+id/dpId" android:layout_width="fill_parent" android:layout_height="wrap_content"/></LinearLayout>

?

?

?

?

?

?