1、android30新特性UIAndroid3.0新增UI控件AdapterViewAnimator控件AdapterViewAnimator(堆View),已知子类有AdapterViewFlipper, StackView,是一系列View的集合,这些View叠加一起,并且View之间可以进行切换,并且在多个View切换过程体现渐隐渐现的动画效果。通过AdapterViewAnimator.setAdapter()方法设置一组要显示的View,通过AdapterViewAnimator.showPrevious()方法移动到前一个View,通过AdapterViewAnimator.show
2、Next()移动到下一个View,示例代码如下:效果图:Src/res/layout/adapterviewanimator_layout.xmlAdapterViewFlipper控件AdapterViewFilpper(堆View),是AdapterViewAnimator的子类,是一系列View的集合,这些View叠加一起,并且View之间可以进行切换,并且在多个View切换过程体现渐隐渐现的动画效果。通过AdapterViewFilpper.setAdapter()方法设置一组要显示的View,通过AdapterViewFilpper.showPrevious()方法移动到前一个Vie
3、w,通过AdapterViewFilpper.showNext()移动到下一个View,示例代码如下:效果图:Src/package ;import android.app.Activity;import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterViewFlipper;import android.widget.Button; public c
4、lass AdapterViewFlipperActivity extends Activity private int mColors = Color.BLUE, Color.CYAN, Color.GRAY, Color.GREEN, Color.RED; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.adapterviewflipper_layout); final AdapterViewFlipper
5、 adapterViewFlipper = (AdapterViewFlipper) findViewById(R.id.mAdapterViewFlipper); ColorAdapter colorAdapter = new ColorAdapter(this, mColors); adapterViewFlipper.setAdapter(colorAdapter); final Button previousButon = (Button) findViewById(R.id.previousButton); previousButon.setOnClickListener(new O
6、nClickListener() public void onClick(View view) adapterViewFlipper.showPrevious(); ); final Button nextButton = (Button) findViewById(R.id.nextButton); nextButton.setOnClickListener(new OnClickListener() public void onClick(View view) adapterViewFlipper.showNext(); ); res/layout/adapterviewflipper_l
7、ayout.xml ListPopupWindow控件锚于宿主视图,并显示如一个建议,当输入到一个列表中的选项的EditText查看列表。CalendarView控件CalendarView是一个日历控件,作为显示和选择日期。日期范围的及日历样式是可配置的。用户可以选择一个日期,也可以触摸滚动日历。可在xml布局中添加此控件,可通过CalendarView.setOnDateChangeListener()方法为此控件的每一格设置点击事件。示例代码如下:效果图:Src/package ;import android.app.Activity;import android.os.Bundle;i
8、mport android.widget.CalendarView;import android.widget.CalendarView.OnDateChangeListener;import android.widget.Toast;public class CalendarViewActivity extends Activity Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.calendarvie
9、w_layout); CalendarView calendarView = (CalendarView) findViewById(R.id.calendarView); calendarView.setOnDateChangeListener(new OnDateChangeListener() Override public void onSelectedDayChange(CalendarView view, int year, int month,int dayOfMonth) Toast.makeText(CalendarViewActivity.this, getString(R
10、.string.select) + year + getString(R.string.year) + month + getString(R.string.month) + dayOfMonth + getString(R.string.day), Toast.LENGTH_SHORT).show(); ); res/layout/calendarview_layout.xml NumberPicker控件这控件可用于设置时间的控件,允许用户选择一个数字,从一个预定范围。该部件提供了一个输入字段和向上和向下选择一个数字按钮。可按这两个按钮选择一个值填入显示框中,显示框还允许用户触摸滚动,这时
11、会显示上个与下个的值,可以选择当前值来显示。此类中提供了NumberPicker.setLeft()方法设置最小值,NumberPicker.setMaxValue()设置最大值,可用NumberPicker.setOnValueChangedListener()方法监听更改值事件,只需new OnValueChangeListener对象,并重写里面onValueChange()方法即可,示例代码如下:效果图:Src/package ;import android.app.Activity;import android.os.Bundle;import android.widget.Numb
12、erPicker;import android.widget.NumberPicker.OnValueChangeListener;import android.widget.Toast;public class NumberPickerActivity extends Activity NumberPicker mNumberPicker1 = null; NumberPicker mNumberPicker2 = null; NumberPicker mNumberPicker3 = null; Override protected void onCreate(Bundle savedIn
13、stanceState) super.onCreate(savedInstanceState); setContentView(R.layout.numberpicker_layout); mNumberPicker1 = (NumberPicker) findViewById(R.id.numberPicker1); mNumberPicker1.setLeft(0); mNumberPicker1.setMaxValue(24); mNumberPicker1.setOnValueChangedListener(new OnValueChangeListener() Override pu
14、blic void onValueChange(NumberPicker picker, int oldVal, int newVal) Toast.makeText(NumberPickerActivity.this,picker.getValue()+getString(R.string.hours), Toast.LENGTH_SHORT).show(); ); mNumberPicker2 = (NumberPicker) findViewById(R.id.numberPicker2); mNumberPicker2.setLeft(0); mNumberPicker2.setMax
15、Value(60); mNumberPicker2.setOnValueChangedListener(new OnValueChangeListener() Override public void onValueChange(NumberPicker picker, int oldVal, int newVal) Toast.makeText(NumberPickerActivity.this,picker.getValue()+getString(R.string.minutes), Toast.LENGTH_SHORT).show(); ); mNumberPicker3 = (Num
16、berPicker) findViewById(R.id.numberPicker3); mNumberPicker3.setLeft(0); mNumberPicker3.setMaxValue(60); mNumberPicker3.setOnValueChangedListener(new OnValueChangeListener() Override public void onValueChange(NumberPicker picker, int oldVal, int newVal) Toast.makeText(NumberPickerActivity.this,picker
17、.getValue()+getString(R.string.second), Toast.LENGTH_SHORT).show(); ); res/layout/numberpicker_layout.xml StackView控件StackView(堆View),是AdapterViewAnimator的子类,一系列View的集合,这些View以层叠样式显示,并且View之间可以进行切换(切换方式有两种:(1)拖动StackView组件中的某一个View,(2)通过代码控制),这样每一个View都有机会显示给用户,供用户使用,并且在多个View切换过程中可以添加动画效果。通过StackVi
18、ew.setAdapter()方法设置一组要显示的View,通过StackView.showPrevious()方法移动到前一个View,通过StackView.showNext()移动到下一个View示例代码如下:效果图:Src/package ;import android.app.Activity;import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.
19、Button; import android.widget.StackView;public class StackViewActivity extends Activity private int mColors = Color.BLUE, Color.CYAN, Color.GRAY, Color.GREEN, Color.RED; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.stackview_lay
20、out); final StackView stackView = (StackView) findViewById(R.id.mStackView); ColorAdapter colorAdapter = new ColorAdapter(this, mColors); stackView.setAdapter(colorAdapter); final Button previousButon = (Button) findViewById(R.id.previousButton); previousButon.setOnClickListener(new OnClickListener(
21、) public void onClick(View view) stackView.showPrevious(); ); final Button nextButton = (Button) findViewById(R.id.nextButton); nextButton.setOnClickListener(new OnClickListener() public void onClick(View view) stackView.showNext(); ); Src/package ;import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapte
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1