Android学习笔记5

转载 2012年03月31日 16:33:16

 

Android(5) - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox, RadioButton, AnalogClock, DigitalClock

 

介绍
在 Android 中使用各种控件(View)

·         TextView - 文本显示控件

·         Button - 按钮控件

·         ImageButton - 图片按钮控件

·         ImageView - 图片显示控件

·         CheckBox - 复选框控件

·         RadioButton - 单选框控件

·         AnalogClock - 钟表(带表盘的那种)控件

·         DigitalClock - 电子表控件



1、TextView 的 Demo
textview.xml

代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical" android:layout_width="fill_parent"
    android:layout_height
="fill_parent">
    
    
<!--
        TextView - 
文本显示控件
    -->

    
<TextView android:layout_width="fill_parent"
        android:layout_height
="wrap_content" android:id="@+id/textView" />
        
</LinearLayout>


_TextView.java

代码

package com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class _TextView extends Activity {

    @Override
    
protected void onCreate(Bundle savedInstanceState) {
        
// TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        
this.setContentView(R.layout.textview);

        
// 设置 Activity 的标题
        setTitle("TextView");
        
        TextView txt = (TextView) 
this.findViewById(R.id.textView);
        
// 设置文本显示控件的文本内容,需要换行的话就用“\n”
        txt.setText("我是 TextView\n显示文字用的");
    }
}



2、Button 的 Demo
button.xml

代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical" android:layout_width="fill_parent"
    android:layout_height
="fill_parent">
    
    
<TextView android:layout_width="fill_parent"
        android:layout_height
="wrap_content" android:id="@+id/textView" />
    
     
<!--
         Button - 
按钮控件
     -->
    
    
<Button android:id="@+id/button"
        android:layout_width
="wrap_content" android:layout_height="wrap_content">
    
</Button>
    
</LinearLayout>


_Button.java

代码

package com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class _Button extends Activity {

    @Override
    
protected void onCreate(Bundle savedInstanceState) {
        
// TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        
this.setContentView(R.layout.button);

        setTitle("Button");
        
        Button btn = (Button) 
this.findViewById(R.id.button);
        btn.setText("click me");
        
        
// setOnClickListener() - 响应按钮的鼠标单击事件
        btn.setOnClickListener(new Button.OnClickListener(){
            @Override
            
public void onClick(View v) {
                TextView txt = (TextView) _Button.
this.findViewById(R.id.textView);
                txt.setText("
按钮被单击了");
            }
        });
    }
}



3、ImageButton 的 Demo
imagebutton.xml

代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical" android:layout_width="fill_parent"
    android:layout_height
="fill_parent">
    
    
<TextView android:layout_width="fill_parent"
        android:layout_height
="wrap_content" android:id="@+id/textView" />
    
    
<!--
        ImageButton - 
图片按钮控件
    -->
    
    
<ImageButton android:id="@+id/imageButton"
        android:layout_width
="wrap_content" android:layout_height="wrap_content">
    
</ImageButton>
    
</LinearLayout>


_ImageButton.java

代码

package com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;

public class _ImageButton extends Activity {

    @Override
    
protected void onCreate(Bundle savedInstanceState) {
        
// TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        
this.setContentView(R.layout.imagebutton);

        setTitle("ImageButton");
        
        ImageButton imgButton = (ImageButton) 
this.findViewById(R.id.imageButton);
        
// 设置图片按钮的背景
        imgButton.setBackgroundResource(R.drawable.icon01);
        
        
// setOnClickListener() - 响应图片按钮的鼠标单击事件
        imgButton.setOnClickListener(new Button.OnClickListener(){
            @Override
            
public void onClick(View v) {
                TextView txt = (TextView) _ImageButton.
this.findViewById(R.id.textView);
                txt.setText("
图片按钮被单击了");
            }
        });
    }
}



4、ImageView 的 Demo
imageview.xml

代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical" android:layout_width="fill_parent"
    android:layout_height
="fill_parent">
    
    
<!--
        ImageView - 
图片显示控件
    -->

    
<ImageView android:id="@+id/imageView" android:layout_width="wrap_content"
        android:layout_height
="wrap_content"></ImageView>
        
</LinearLayout>


_ImageView.java

代码

package com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;

public class _ImageView extends Activity {

    @Override
    
protected void onCreate(Bundle savedInstanceState) {
        
// TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        
this.setContentView(R.layout.imageview);

        setTitle("ImageView");
        
        ImageView imgView = (ImageView) 
this.findViewById(R.id.imageView);
        
// 指定需要显示的图片
        imgView.setBackgroundResource(R.drawable.icon01);
    }
}



5、CheckBox 的 Demo
checkbox.xml

代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical" android:layout_width="fill_parent"
    android:layout_height
="fill_parent">
    
    
<TextView android:layout_width="fill_parent"
        android:layout_height
="wrap_content" android:id="@+id/textView" />
        
    
<!--
        CheckBox - 
复选框控件
    -->

    
<CheckBox android:text="CheckBox01" android:id="@+id/chk1"
        android:layout_width
="wrap_content" android:layout_height="wrap_content"></CheckBox>
    
<CheckBox android:text="CheckBox02" android:id="@+id/chk2"
        android:layout_width
="wrap_content" android:layout_height="wrap_content"></CheckBox>
    
<CheckBox android:text="CheckBox03" android:id="@+id/chk3"
        android:layout_width
="wrap_content" android:layout_height="wrap_content"></CheckBox>
        
</LinearLayout>


_CheckBox.java

代码

package com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;

public class _CheckBox extends Activity {

    @Override
    
protected void onCreate(Bundle savedInstanceState) {
        
// TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        
this.setContentView(R.layout.checkbox);

        setTitle("CheckBox");
        
        CheckBox chk = (CheckBox) 
this.findViewById(R.id.chk1);
        
// setOnCheckedChangeListener() - 响应复选框的选中状态改变事件
        chk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                TextView txt = (TextView) _CheckBox.
this.findViewById(R.id.textView);
                txt.setText("CheckBox01 
的选中状态:" + String.valueOf(isChecked));                
            }
        });
    }
}



6、RadioButton 的 Demo
radiobutton.xml

代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical" android:layout_width="fill_parent"
    android:layout_height
="fill_parent">
    
    
<TextView android:layout_width="fill_parent"
        android:layout_height
="wrap_content" android:id="@+id/textView" />
        
    
<!--
        RadioButton - 
单选框控件
        RadioGroup - 
对其内的单选框控件做分组
            checkedButton - 指定组内被选中的单选框的 ID
    -->
    
<RadioGroup android:id="@+id/radioGroup"
        android:layout_width
="fill_parent" android:layout_height="fill_parent"
        android:checkedButton
="@+id/rad3" android:orientation="horizontal"
        android:gravity
="center_vertical|center_horizontal">
        
<RadioButton android:text="rad1" android:id="@+id/rad1"
            android:layout_width
="wrap_content" android:layout_height="wrap_content"></RadioButton>
        
<RadioButton android:text="rad2" android:id="@+id/rad2"
            android:layout_width
="wrap_content" android:layout_height="wrap_content"></RadioButton>
        
<RadioButton android:text="rad3" android:id="@+id/rad3"
            android:layout_width
="wrap_content" android:layout_height="wrap_content"></RadioButton>
    
</RadioGroup>
    
</LinearLayout>


_RadioButton.java

代码

package com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;

public class _RadioButton extends Activity {

    @Override
    
protected void onCreate(Bundle savedInstanceState) {
        
// TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        
this.setContentView(R.layout.radiobutton);

        setTitle("RadioButton");
        
        RadioGroup group = (RadioGroup) 
this.findViewById(R.id.radioGroup);
        
// setOnCheckedChangeListener() - 响应单选框组内的选中项发生变化时的事件
        group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {    
            @Override
            
public void onCheckedChanged(RadioGroup group, int checkedId) {
                TextView txt = (TextView) _RadioButton.
this.findViewById(R.id.textView);
                txt.setText(((RadioButton)findViewById(checkedId)).getText() + " 
被选中");                    
            }
        }); 
    }
}



7、AnalogClock 的 Demo
analogclock.xml

代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical" android:layout_width="fill_parent"
    android:layout_height
="fill_parent">
    
    
<!--
        AnalogClock - 
钟表(带表盘的那种)控件
    -->

    
<AnalogClock android:id="@+id/analogClock"
        android:layout_width
="wrap_content" android:layout_height="wrap_content">
    
</AnalogClock>
    
</LinearLayout>


_AnalogClock.java

代码

package com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;

public class _AnalogClock extends Activity {

    @Override
    
protected void onCreate(Bundle savedInstanceState) {
        
// TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        
this.setContentView(R.layout.analogclcok);

        setTitle("AnalogClock");
    }
}



8、DigitalClock 的 Demo
digitalclock.xml

代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical" android:layout_width="fill_parent"
    android:layout_height
="fill_parent">
    
    
<!--
        DigitalClock - 
电子表控件
    -->

    
<DigitalClock android:id="@+id/digitalClock"
        android:layout_width
="wrap_content" android:layout_height="wrap_content">
    
</DigitalClock>
    
</LinearLayout>


_DigitalClock.java

代码

package com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;

public class _DigitalClock extends Activity {

    @Override
    
protected void onCreate(Bundle savedInstanceState) {
        
// TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        
this.setContentView(R.layout.digitalclcok);

        setTitle("DigitalClcok");
    }
}

 

 

 

Pro Android学习笔记(一五五):传感器(5): 磁场传感器和方位(上)

磁场传感器(Magnetic Field Sensors) 磁场传感器可以用来检测磁场大小,和加速度传感器一样,有x、y、z轴三个方向,单位为uT(microteslas)。磁场传感器也称为compa...

在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务(老罗学习笔记5)

在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务(老罗学习笔记5)...

Pro Android学习笔记(一四六):触摸屏(5):自定义手势

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。 Gestures B...

某宅的Android学习笔记(5)——可通用的适配器

ListView、GridView 是我们在 Android 中很常用的控件,通常来说,对于每一个控件都要写对应的 ViewHolder 和 Adapter。但是当项目中的 ListView 很多时,...
  • mouzhai
  • mouzhai
  • 2016年09月17日 11:08
  • 209

android开发学习笔记系列(5)--fragment与viewpage

前言在前面的博客写到我针对一个项目完成了动态布局的效果,顿时感觉很爽,那么下面我针对我在前文中所讲的tabhost的实现做出一个新的方法,tabhost基本已经被启用,现在基本使用Fragment与v...

Pro Android学习笔记(一一十):2D动画(5):Camera

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying以及作者@恺风Wei-傻瓜与非傻瓜。 利用Ca...

Pro Android学习笔记(六一):Preferences(5):组织Preference

PreferenceCategory 如果有多个preference,我们希望能在他们组织在一起。有两种方式,一种就是我们在复合preference中,利用PreferenceScreen进行嵌套,或...

Android开发学习笔记:5大布局方式详解

Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件。帧布局(FrameLayout):组件从屏幕左上方布局组件。表格布局(Table...

Pro Android学习笔记(四十):Fragment(5):适应不同屏幕或排版

对于fragment,经常涉及不同屏幕尺寸和不同的排版风格。我们在基础小例子上做一下改动,在横排的时候,仍是现实左右两个fragment,在竖排时,如下图显示: 屏幕上只显示一个fragment,点...

Android开发学习笔记:5大布局方式详解

Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件。帧布局(FrameLayout):组件从屏幕左上方布局组件。表格布局(Tab...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android学习笔记5
举报原因:
原因补充:

(最多只允许输入30个字)