【Android基础】(8)UI控件(二)
2014-12-17 22:26
239 查看
文章地址:/article/1876453.html
继续UI控件第二部分。
使用getSystemService(Context.NOTIFICATION_SERVICE)获取通知管理对象。
其中Notification构造函数第一个参数是图标,第二个参数Ticker是在通知栏显示的文本,第三个参数是显示的时间。
setLatestEventInfo第一个参数是Context上下文,第二个参数是下拉通知后显示的标题,第三个参数是内容,第四个参数是一个PendingIntent,意思是点击通知后的意图对象。
PendingIntent.getActivity第一个参数是Context上下文,第二个参数是请求码,第三个是Intent对象,第四个是Flag值。
最后调用manager的notify即可显示通知,notify第一个参数是改通知独一无二的id值,传当前Activity的布局文件id是一个不错的选择。
运行可以看到可以拖动整个界面。
继续UI控件第二部分。
一 SeekBar
这是一个进度条控件,xml文件:<SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" />SeekBar的使用也非常简单:
SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar1); seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // 停止拖动执行的方法 } @Override public void onStartTrackingTouch(SeekBar seekBar) { // 开始拖动执行的方法 } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // 拖动变化执行的方法 System.out.println("当前进度条为:" + progress + "%"); } });三个回调方法使用也都标明了。
二 GridView
网格布局也是使用的非常广泛,类似于ListView,同样也是使用到了适配器。xml文件:<GridView android:id="@+id/gridView1" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="3" />为了方便我们还是使用了ArrayAdapter适配器:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1); GridView gridView = (GridView) findViewById(R.id.gridView1); gridView.setAdapter(adapter); for (int i = 0; i < 60; i++) { adapter.add("测试数据" + i); }
三 ProgressDialog
我们这里使用一个按钮来控制进度对话框的显示,当进度加载满后进度对话框消失:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="显示进度对话框" /> </LinearLayout>然后是Java文件:
findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { final ProgressDialog progressDialog = ProgressDialog.show( MainActivity.this, "加载中", "正在加载,请稍后"); new Thread() { public void run() { try { Thread.sleep(3000); progressDialog.dismiss(); } catch (InterruptedException e) { e.printStackTrace(); } }; }.start(); } });点击按钮后开始加载进度对话框,3秒后加载消失。
四 Notification
通知Notification我们还是做成在点击按钮后显示通知。<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="显示通知" />Java文件:
final NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); manager.cancel(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @SuppressWarnings("deprecation") @Override public void onClick(View v) { Notification notification = new Notification( R.drawable.ic_launcher, "Ticker", System .currentTimeMillis()); notification.setLatestEventInfo(MainActivity.this, "标题", "内容", PendingIntent.getActivity(MainActivity.this, 1, getIntent(), 0)); manager.notify(R.layout.activity_main, notification); } });
使用getSystemService(Context.NOTIFICATION_SERVICE)获取通知管理对象。
其中Notification构造函数第一个参数是图标,第二个参数Ticker是在通知栏显示的文本,第三个参数是显示的时间。
setLatestEventInfo第一个参数是Context上下文,第二个参数是下拉通知后显示的标题,第三个参数是内容,第四个参数是一个PendingIntent,意思是点击通知后的意图对象。
PendingIntent.getActivity第一个参数是Context上下文,第二个参数是请求码,第三个是Intent对象,第四个是Flag值。
最后调用manager的notify即可显示通知,notify第一个参数是改通知独一无二的id值,传当前Activity的布局文件id是一个不错的选择。
五 ScrollView
ScrollView是可滚动的视图。在这个布局下多添加几个控件:<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="显示通知" /> <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <CheckBox android:id="@+id/checkBox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="CheckBox" /> <ProgressBar android:id="@+id/progressBar2" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textPassword" > <requestFocus /> </EditText> <RadioGroup android:id="@+id/radioGroup1" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/radio0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="RadioButton" /> <RadioButton android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton" /> <RadioButton android:id="@+id/radio2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton" /> <RadioGroup android:id="@+id/radioGroup2" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/radio3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="RadioButton" /> <RadioButton android:id="@+id/radio4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton" /> <RadioButton android:id="@+id/radio5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton" /> </RadioGroup> </RadioGroup> <EditText android:id="@+id/editText2" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textEmailAddress" /> <EditText android:id="@+id/editText3" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" /> <EditText android:id="@+id/editText4" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" /> </LinearLayout> </ScrollView>ScrollView作为最外层的标签,他的子标签必须只能有一个控件,我们这里使用了LinearLayout,里面放了许多控件。
运行可以看到可以拖动整个界面。
六 RatingBar
评价条。xml:<RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" />Java文件:
RatingBar ratingBar = (RatingBar) findViewById(R.id.ratingBar1); ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { System.out.println("评价为:" + rating); } });rating也可以为小数,0.5的增减幅度可以看到使用起来非常简单。
相关文章推荐
- Android UI基础 --基本控件
- Android UI基础——TextSwitcher&ImageSwitcher控件
- Android UI基础——CheckBox&RadioButton控件
- Android自定义UI实战(基础篇1)---组合控件封装
- Android基础UI控件
- Android UI基础——Toast控件
- Android基础————UI布局之高级控件详解
- Android基础 基本UI控件运用的小例子
- 【Android基础】(7)UI控件(一)
- Android基础 基本UI控件运用的小例子(2)
- 【Android基础】(9)UI控件(三)
- android一些常用基础UI控件(比较适合给新手参考)
- Android 开发基础篇——UI——基础控件(TextView、Button、EditText)
- Android基础————UI控件以及控件事件处理详解
- Android基础UI控件之Button
- Android UI基础——SeekBar&RatingBar控件
- Android基础查缺补漏之UI控件
- Android 之路30---UI基础控件
- Android学习之 UI--基础控件
- Android基础UI控件之AutoCompleteTextView