《老罗Android》学习之UI DatePicker、AnalogClock
来源:互联网 发布:英雄无敌6加点 知乎 编辑:程序博客网 时间:2024/05/21 12:48
1. DatePicker TimePicker
查看这篇文章:控件之DatePicker、TimePicker学习
2. AnalogClock和DigitalClock
1.布局
3. RatingBar
RatingBar主要用在电子相册、网上书店和对文章进行评分的功能。
1.布局
垂直滚动条只要在布局中实现就可以了。要嵌套一个布局。
水平滚动控件,布局设定为水平方向 。
1. 用include 静态加载布局
在一个布局中加载另一个布局,假设要在main.xml中加载next.xml的布局。
把上面的部分换成以下内容
3.代码
要让动态布局显示时调用ViewStub.inflate或ViewStub.setVisibility(View.VISIBILE)方法ViewStub才会装载引用的控件,要隐藏时调用ViewStub.setVisibility(View.GONE).
7. ViewPager多页面滑动
1.布局
在main.xml中的LinearLayout中加入
2.Activity
查看这篇文章:控件之DatePicker、TimePicker学习
2. AnalogClock和DigitalClock
1.布局
<AnalogClock android:layout_width="fill_parent"android:layout_height="wrap_content" /><DigitalClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18dp"></DigitalClock>2. 用时间和日期对话框进行设置
public class Main extends Activity implements OnClickListener {private Button button1, button2; private int hourOfDay, minute; private int year, monthOfYear, dayOfMonth;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);button1 = (Button) this.findViewById(R.id.button1);button2 = (Button) this.findViewById(R.id.button2);button1.setOnClickListener(this);button2.setOnClickListener(this);// 获得当前的时间,获得小时和分钟Calendar calendar = Calendar.getInstance();hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);minute = calendar.get(Calendar.MINUTE);// 获得当前的秒year = calendar.get(Calendar.YEAR);monthOfYear = calendar.get(Calendar.MONTH);dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);}public void onClick(View v) {switch (v.getId()) {case R.id.button1:TimePickerDialog timePickerDialog = new TimePickerDialog(Main.this,new MyTimePickerDialog(), hourOfDay, minute, true);timePickerDialog.show();// 显示对话框break;case R.id.button2:DatePickerDialog datePickerDialog = new DatePickerDialog(Main.this,new MyDatePickerDialog(), year, monthOfYear, dayOfMonth);datePickerDialog.show();// 显示对话框break;}}public class MyDatePickerDialog implements DatePickerDialog.OnDateSetListener {public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {Toast.makeText(Main.this,"year:" + year + "monthOfYear:" + monthOfYear+ "dayOfMonth:" + dayOfMonth, 1).show();}}public class MyTimePickerDialog implements TimePickerDialog.OnTimeSetListener {public void onTimeSet(TimePicker view, int hourOfDay, int minute) {Toast.makeText(Main.this,"hourOfDay:" + hourOfDay + "minute:" + minute, 1).show();}}}查看这篇文章:AnalogClock & DigitalClock 的设置小结
3. RatingBar
RatingBar主要用在电子相册、网上书店和对文章进行评分的功能。
1.布局
<RatingBar android:id="@+id/ratingBar" android:layout_width="fill_parent"android:layout_height="wrap_content"></RatingBar>2.代码
public class Main extends Activity implements OnRatingBarChangeListener {private RatingBar ratingBar;public void onCreate(Bundle savedInstanceState) {............ratingBar.setMax(100);// 设置最大刻度ratingBar.setProgress(20);// 设置当前的刻度ratingBar.setOnRatingBarChangeListener(this);}public void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) {int progress = ratingBar.getProgress();Toast.makeText(Main.this, "progress:" + progress + "rating:" + rating,1).show();}}4.ScrollView
垂直滚动条只要在布局中实现就可以了。要嵌套一个布局。
<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="wrap_content"><LinearLayout android:layout_width="fill_parent"android:orientation="vertical" android:layout_height="fill_parent">................</LinearLayout></ScrollView>5. HorizontalScrollView
水平滚动控件,布局设定为水平方向 。
<?xml version="1.0" encoding="utf-8"?><HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="wrap_content"><LinearLayout android:orientation="horizontal"android:layout_width="fill_parent" android:layout_height="fill_parent"> .....................</LinearLayout></HorizontalScrollView>6.ViewStub惰性装载控件
1. 用include 静态加载布局
在一个布局中加载另一个布局,假设要在main.xml中加载next.xml的布局。
<!-- 静态的加载布局文件--><includeandroid:layout_width="wrap_content"android:layout_height="wrap_content"layout="@layout/next"/>2.动态加载布局
把上面的部分换成以下内容
<!-- 动态的加载布局文件--><LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FFCCDD"> <ViewStub android:id="@+id/stub" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout="@layout/next"/></LinearLayout>ViewtSub的功能和<include>的功能类似,也是实现引用另外一个布局。但是唯一不同的是ViewStub并不会马上装载引用布局文件,只有在调用了ViewStub.inflate或ViewStub.setVisibility(View.VISIBILE)方法ViewStub才会装载引用的控件。
3.代码
要让动态布局显示时调用ViewStub.inflate或ViewStub.setVisibility(View.VISIBILE)方法ViewStub才会装载引用的控件,要隐藏时调用ViewStub.setVisibility(View.GONE).
7. ViewPager多页面滑动
1.布局
在main.xml中的LinearLayout中加入
<android.support.v4.view.ViewPager android:id="@+id/ViewPager" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" > <android.support.v4.view.PagerTitleStrip android:id="@+id/pagertitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top" /></android.support.v4.view.ViewPager>再创建3个布局文件,tab1,tab2,tab3.
2.Activity
public class MainActivity extends Activity{ private ViewPager viewPager; private PagerTitleStrip pagerTitleStrip;//表示滑动的每一页的标题 private List<View> list; //表示装载滑动的布局 private List<String> titleList; //表示滑动的每一页的标题 public void onCreate(Bundle savedInstanceState){ ............ //动态加载布局 View view1=LayoutInflater.from(MainActivity.this).inflate(R.layout.tab1,null); View view2=LayoutInflater.from(MainActivity.this).inflate(R.layout.tab2,null); View view3=LayoutInflater.from(MainActivity.this).inflate(R.layout.tab3,null); list=new ArrayList<View>; list.add(view1); list.add(view2); list.add(view3); titleList=new ArrayList<String>(); titleList.add("titl1"); titleList.add("titl2"); titleList.add("titl3"); viewPager.setAdapter(new MyAdapter())';' } class MyAdapter extends PagerAdapter{ public int gerCount(){ return list.size(); } public void destroyItem(ViewGroup container,int position,Object object){ super.destroyItem(container,position,object); ((ViewPager)container).removeView(list.get(position)); } public CharSequence getPageTitle(int position){ return titleList.get(position); } public Object instantiateItem(ViewGroup container,int position){ ((ViewPager)container).addView(list.get(position)); return list.get(position); } public boolean isViewFromObject(View arg0,Object arg1){ return arg0==arg1; } }}
0 0
- 《老罗Android》学习之UI DatePicker、AnalogClock
- 《老罗Android》学习之UI控件TextView、drawableLeft
- 《老罗Android》学习之UI控件Button
- 《老罗Android》学习之UI ListView、MVC模式
- Android--UI之DatePicker、TimePicker...
- 学习DatePicker,TimePicker,AnalogClock简单应用
- Android—UI之DatePicker、TimePicker
- Android学习笔记之DatePicker
- Android控件开发之AnalogClock
- 《老罗Androi》学习之UI ImageView、SeekBar
- 老罗android之旅学习
- 《老罗Android》学习之xml解析
- 《老罗Android》学习之JDBC框架
- 《老罗Android》学习之数据存储
- 《老罗Android》学习之SQLite
- 《老罗Android》学习之Content Provider
- 《老罗Android》学习之对话框
- 《老罗Android》学习之通知 notification
- 一个指针变量占几个字节问题
- Android利用Intent调用电话来打电话
- addChildViewController transitionFromViewController nib storyboard
- zTree 简单地实现异步加载
- 手动添加SSH支持、使用c3p0
- 《老罗Android》学习之UI DatePicker、AnalogClock
- 最短的名字
- C# TraceListener 跟踪监听实用示例
- 【取模除法+较大组合数】 0524_1002.Grids Astar第二战_Failed
- jquery mobile方法使用
- Lucky Numbers
- 啊撒帝国时代发过士大夫
- phoneGap+jquery mobile项目经验
- OCP 1Z0 051 110