Android基本组件之图像视图等余下组件(自用)

图像视图(imageview),用于在屏幕中显示任何drawable对象。添加图像视图与其他组件一样,有通过XML布局文件中使用< imageview>标记和在Java文件中,通过new关键字创建这两种。常用的属性除了大众属性之后,还常用到以下几种:

Android:src 设置imageview内的图像
Android:adjustViewBounds 用于设置imageview是否调整自己的边界来保持所显示图片的长度比
Android:tint 用于为图片着色

列表选择框(spinner),相当于在网页中常见的下拉列表框,通常用于提供一系列可选择的列表选供用户进行选择,从而方便用户。添加组件的方法与图像视图类似,在这主要说明一下声明函数和调用函数。

final Spinner spinner = (Spinner) findViewById(R.id.spinner1);//声明
        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView parent, View arg1,
                    int pos, long id) {
                String result = parent.getItemAtPosition(pos).toString(); // 获取选择项的值
                Log.i("Spinner示例", result);
            }

            @Override
            public void onNothingSelected(AdapterView arg0) {
            }
        });

也可以使用列表选择框的getselectedItem()方法获取列表选择框的选中值。

其中如果不在布局文件中直接为其指定要显示的列表项,也可以通过为其指定适配器的方式指定。

/****************通过指定适配器的方式为选择列表框指定列表项********************/
//      方法一
//      String[] ctype=new String[]{"身份证","学生证","军人证"};
//      ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_spinner_item,ctype);
//      方法二
//      ArrayAdapter adapter = ArrayAdapter.createFromResource(
//              this, R.array.ctype,android.R.layout.simple_dropdown_item_1line);   //创建一个适配器
//      
//      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 为适配器设置列表框下拉时的选项样式
//      spinner.setAdapter(adapter); // 将适配器与选择列表框关联

        /***************************************************************************/       

列表视图(ListView)
列表视图是Android中常用的一种视图组件,它以垂直列表的形式列出需要显示的列表项。其自身常用的XML属性有:

Android:divider 用于为列表视图设置分隔条,既可以用颜色分隔,也可以用drawable资源分隔
android:dividerHeight 用于设置分隔条的高度
android:entries 用于通过数组资源为listview指定列表项

在使用列表视图时,重要的是如何设置选择内容,同spinner一样,假如没有在布局文件中为listview指定要显示的列表想,也可以用适配器进行设置。

计时器(chronometer)
直接上例子,先layout文件


<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:text="@string/hello"
    />
<Chronometer 
    android:text="Chronometer" 
    android:id="@+id/chronometer1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/>

LinearLayout>

再来个activity文件

package com.mingrisoft;

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener;

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final Chronometer ch = (Chronometer) findViewById(R.id.chronometer1); // 获取计时器组件
        ch.setBase(SystemClock.elapsedRealtime()); // 设置起始时间
        ch.setFormat("已用时间:%s"); // 设置显示时间的格式
        ch.start(); // 开启计时器
        // 添加监听器
        ch.setOnChronometerTickListener(new OnChronometerTickListener() {

            @Override
            public void onChronometerTick(Chronometer chronometer) {
                // TODO Auto-generated method stub
                if (SystemClock.elapsedRealtime() - ch.getBase() >= 10000) {
                    ch.stop(); // 停止计时器
                }

            }
        });
    }
}

其中:
setBase():用于设置计时器的起始时间
setFormat():用于设置计时器的起始时间
start 用于设置开始计时
stop 用于设置停止计时
PS:这个博客还真的可以用HTML美化的啊

你可能感兴趣的:(安卓学习)