现在的位置: 首页 > 综合 > 正文

【android,18】android下常用组件:

2014年01月31日 ⁄ 综合 ⁄ 共 7673字 ⁄ 字号 评论关闭
文章目录

一、notification组件的使用:

1、notification 组件就是当来一条短息时,在手机任务栏中显示出一条短信的提示,点击时会激活一个activity

 

2、创建和使用:

  public void click(Viewview){

    //1 Get a reference to the NotificationManager:

    // 获取一个notification的管理者

    NotificationManager manager = (NotificationManager)getSystemService(

NOTIFICATION_SERVICE);

 

    // 2.初始化 manager要显示的notification

 

    int icon = R.drawable.ic_launcher;

    CharSequence tickerText = "Hello 标题";

    long when = System.currentTimeMillis();

//构造函数参数:(图标,标题,notification显示的时间)

     Notificationnotification = new Notification(icon, tickerText, when);

   

    //3. notification的具体事件

     // 指定声音

    notification.sound = Uri.fromFile(newFile("/sdcard/ha.mp3"));

     notification.ledARGB // 显示什么样子的led灯

//震动   指定定震动时间 单位毫秒

    Notification.vibrate() ; //参数long[] 数组 20 50 80

   //指定notification的显示状态。(FLAG_NO_CLEAR:不显示,FLAG_INSISTENT:一直显示)

    notification.flags = Notification.FLAG_NO_CLEAR;

   

    // 延期的意图

    Intent intent = new Intent();

    intent.setAction(Intent.ACTION_CALL);

    intent.setData(Uri.parse("tel:123456"));

 

//创建延期意图getActivity方法参数(上下文, 0,意图对象,0)

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0,intent, 0);

为notification 设置延期意图:

    notification.contentIntent = contentIntent;

 

   //setLatestEventInfo()方法是设置点击notification打开的内容,和执行延期意图。

    notification.setLatestEventInfo(this, "标题", "正文", contentIntent);

    //4.利用notification管理者把notification显示出来

    manager.notify(0, notification);

   

    }

}

二、dialog对话框的使用:

 

1、确定取消对话框:

public void click1(View view) {

    // 1.创建一个对话框的构建器

    AlertDialog.Builderbuilder = new Builder(this);

    builder.setIcon(R.drawable.ic_launcher);

    builder.setTitle("我是标题");

    builder.setMessage("我是正文");

//对话框的确定按钮

    builder.setPositiveButton("确定", newOnClickListener() {

 

        @Override

        public void onClick(DialogInterface dialog, int which) {

            // TODO Auto-generatedmethod stub

            System.out.println("确定被点击了");

        }

    });

//设置取消按钮和点击事件

    builder.setNegativeButton("取消", newOnClickListener() {

 

        @Override

        public void onClick(DialogInterface dialog, int which) {

            // TODO Auto-generatedmethod stub

            System.out.println("取消被点击了");

        }

    });

//创建对话框,再显示出来

    builder.create().show();

}

2、选择对话框

public void click2(View view) {

        AlertDialog.Builder builder = new Builder(this);

        final String[] items = { "红", "蓝", "绿" };

//设置选择对话框的数据和 点击事件

        builder.setItems(items, new OnClickListener() {

 

             方法参数(当前dialog , 被点击的条目在items数组下标)

            public voidonClick(DialogInterface dialog, int which) {

            Toast.makeText(getApplicationContext(),

 items[which] + "被点击了",

                             0).show();

 

            }

        });

//显示对话框

        builder.create().show();

    }

3、单选对话框:

public void click3(View view) {

        final CharSequence[] items = { "Red","Green", "Blue" };

 

        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("Pick a color");

//方法参数(数组,默认选择的条目小标-1没有默认选择,点击事件)

        builder.setSingleChoiceItems(items, -1,

                new DialogInterface.OnClickListener() {

                    public voidonClick(DialogInterface dialog, int item) {

                        Toast.makeText(getApplicationContext(), items[item],

                                Toast.LENGTH_SHORT).show();

                        // 关闭对话框

                        dialog.dismiss();

                    }

                });

        AlertDialog alert = builder.create();

        alert.show();

    }

4、多选对话框:

public void click4(View view) {

        final CharSequence[] items = { "Red","Green", "Blue" };

 

        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("Pick a color");

//方法参数:(数组,默认选择的数组,true表示对应的条目选中,点击事件)

        builder.setMultiChoiceItems(items,

                new boolean[] { false, true, false },

                new OnMultiChoiceClickListener() {

 

                    @Override

                    public voidonClick(DialogInterface dialog, int which,

                            boolean isChecked) {

 

                        Toast.makeText(getApplicationContext(),

                                items[which] + "" + isChecked,

                                Toast.LENGTH_SHORT).show();

                    }

                });

//设置确认按钮

        builder.setPositiveButton("确定", newOnClickListener() {

 

            @Override

            public voidonClick(DialogInterface dialog, int which) {

                // TODO Auto-generated method stub

 

            }

        });

 

        AlertDialog alert = builder.create();

        alert.show();

    }

 

5、进度条对话框:ProgressDialog 类

    public void click5(Viewview) {

        ProgressDialog pd = new ProgressDialog(this);

        pd.setTitle("提示标题");

        pd.setMessage("处理中...");

        pd.show();

    }

 

三、下拉列表组件

1、下拉列表的组件:

 <Spinner

       android:id="@+id/spinner"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content" />

 

2、下拉列表的操作:

//获取下拉列表组件

Spinner spinner = (Spinner) this.findViewById(R.id.spinner);

//创建适配器

ArrayAdapter<String> adapter = newArrayAdapter<String>(this,

                android.R.layout.simple_spinner_item);

//为适配设置布局

//android.R.layout.simple_spinner_dropdown_item

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

adapter.add("java");

adapter.add("dotNet");

adapter.add("php");

 

spinner.setAdapter(adapter);

//点击事件

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

 

            @Override

            public voidonItemSelected(AdapterView<?> parent, View view,

                    int position, long id) {

                // TODO Auto-generated method stub

 

            }

 

            @Override

            public voidonNothingSelected(AdapterView<?> parent) {

                // TODO Auto-generated method stub

 

            }

        });

 

四、拖动条:

1、拖动条组件:

<SeekBar

       android:id="@+id/seekBar1"

       android:layout_width="match_parent"

       android:layout_height="wrap_content" />

2、组件的使用:

//拖动条组件对象

seekBar1 = (SeekBar) this.findViewById(R.id.seekBar1);

 

seekBar1.setMax(100);//设置拖动条最大

seekBar1.setProgress(50);//拖动条当前的值

//拖动时的事件

seekBar1.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){

 

    //停止拖动时的方法

    public voidonStopTrackingTouch(SeekBar seekBar) {

        // TODO Auto-generated method stub

        System.out.println("停止拖动了");

//获取当前的位置

        int position = seekBar.getProgress();

 

    }

 

    @Override

//开始拖动时的方法:

    public voidonStartTrackingTouch(SeekBar seekBar) {

        // TODO Auto-generated method stub

        System.out.println("开始拖动了");

 

    }

 

            @Override

    public voidonProgressChanged(SeekBar seekBar, int progress,

                    boolean fromUser) {

        // TODO Auto-generated method stub

 

    }  

});

 

五、菜单:

在activity类中覆写两个方法:

 

@Override//设置菜单项

public boolean onCreateOptionsMenu(Menu menu) {

        menu.add(Menu.NONE, 1, Menu.NONE, "添加");

        menu.add(Menu.NONE, 2, Menu.NONE, "更新");

        return super.onCreateOptionsMenu(menu);

    }

 

    @Override//点击菜单项的事件

public boolean onMenuItemSelected(int featureId, MenuItem item) {

        switch (item.getItemId()) {

        case 1://添加

            Log.i("tag","add was selected");

            return true;

        case 2://更新

            Log.i("tag","update was selected");

            return true;

        default:

            returnsuper.onMenuItemSelected(featureId, item);

        }

    }

六、输入内容自动完成文本框(AutoCompleteTextView)

1、组件

<AutoCompleteTextView

   android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:completionThreshold="1"

  android:id="@+id/name" />

   <!--completionThreshold 指定至少输入几个字符后才会出现自动提示功能  -->

2、操作:

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    String[] names = {"老张", "老方", "老毕", "李明" , "李丽", "陈江", "abc","acc"};

    AutoCompleteTextViewnameText = (AutoCompleteTextView)

this.findViewById(R.id.name);

    ArrayAdapter<String>adapter = new ArrayAdapter<String>(

this,android.R.layout.simple_dropdown_item_1line, names);

    nameText.setAdapter(adapter);

}

 

七.ScrollView :滚动显示内容

 

<?xml version="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

   android:layout_width="fill_parent"

   android:layout_height="fill_parent"

android:orientation="vertical" >

 

   <TextView

       android:layout_width="match_parent"

       android:layout_height="match_parent"

       android:id="@+id/tv"

       />

   </ScrollView>

</LinearLayout>

抱歉!评论已关闭.