android30新特性UI.docx

上传人:b****5 文档编号:7821803 上传时间:2023-01-26 格式:DOCX 页数:21 大小:231.35KB
下载 相关 举报
android30新特性UI.docx_第1页
第1页 / 共21页
android30新特性UI.docx_第2页
第2页 / 共21页
android30新特性UI.docx_第3页
第3页 / 共21页
android30新特性UI.docx_第4页
第4页 / 共21页
android30新特性UI.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

android30新特性UI.docx

《android30新特性UI.docx》由会员分享,可在线阅读,更多相关《android30新特性UI.docx(21页珍藏版)》请在冰豆网上搜索。

android30新特性UI.docx

android30新特性UI

Android3.0新增UI控件

AdapterViewAnimator控件

AdapterViewAnimator(堆View),已知子类有AdapterViewFlipper,StackView,是一系列View的集合,这些View叠加一起,并且View之间可以进行切换,并且在多个View切换过程体现渐隐渐现的动画效果。

通过AdapterViewAnimator.setAdapter()方法设置一组要显示的View,通过AdapterViewAnimator.showPrevious()方法移动到前一个View,通过AdapterViewAnimator.showNext()移动到下一个View,示例代码如下:

效果图:

Src/

res/layout/adapterviewanimator_layout.xml

AdapterViewFlipper控件

AdapterViewFilpper(堆View),是AdapterViewAnimator的子类,是一系列View的集合,这些View叠加一起,并且View之间可以进行切换,并且在多个View切换过程体现渐隐渐现的动画效果。

通过AdapterViewFilpper.setAdapter()方法设置一组要显示的View,通过AdapterViewFilpper.showPrevious()方法移动到前一个View,通过AdapterViewFilpper.showNext()移动到下一个View,示例代码如下:

效果图:

Src/

package;

importandroid.app.Activity;

importandroid.graphics.Color;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.AdapterViewFlipper;

importandroid.widget.Button;

publicclassAdapterViewFlipperActivityextendsActivity{

privateint[]mColors={Color.BLUE,Color.CYAN,Color.GRAY,Color.GREEN,Color.RED};

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.adapterviewflipper_layout);

finalAdapterViewFlipperadapterViewFlipper=(AdapterViewFlipper)findViewById(R.id.mAdapterViewFlipper);

ColorAdaptercolorAdapter=newColorAdapter(this,mColors);

adapterViewFlipper.setAdapter(colorAdapter);

finalButtonpreviousButon=(Button)findViewById(R.id.previousButton);

previousButon.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewview){

adapterViewFlipper.showPrevious();

}

});

finalButtonnextButton=(Button)findViewById(R.id.nextButton);

nextButton.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewview){

adapterViewFlipper.showNext();

}

});

}

}

res/layout/adapterviewflipper_layout.xml

xmlversion="1.0"encoding="utf-8"?

>

android="

android:

orientation="horizontal"

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

>

android:

id="@+id/mAdapterViewFlipper"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

loopViews="true"

/>

android:

orientation="vertical"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

>

android:

id="@+id/previousButton"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="@string/before"

/>

android:

id="@+id/nextButton"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="@string/next"

/>

ListPopupWindow控件

  锚于宿主视图,并显示如一个建议,当输入到一个列表中的选项的EditText查看列表。

 

CalendarView控件

CalendarView是一个日历控件,作为显示和选择日期。

日期范围的及日历样式是可配置的。

用户可以选择一个日期,也可以触摸滚动日历。

可在xml布局中添加此控件,可通过CalendarView.setOnDateChangeListener()方法为此控件的每一格设置点击事件。

示例代码如下:

效果图:

Src/

package;

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.widget.CalendarView;

importandroid.widget.CalendarView.OnDateChangeListener;

importandroid.widget.Toast;

publicclassCalendarViewActivityextendsActivity{

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.calendarview_layout);

CalendarViewcalendarView=(CalendarView)findViewById(R.id.calendarView);

calendarView.setOnDateChangeListener(newOnDateChangeListener(){

@Override

publicvoidonSelectedDayChange(CalendarViewview,intyear,intmonth,intdayOfMonth){

Toast.makeText(CalendarViewActivity.this,getString(R.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

xmlversion="1.0"encoding="utf-8"?

>

android="

android:

layout_width="fill_parent"android:

orientation="vertical"

android:

layout_height="fill_parent">

layout_width="700dip"

android:

layout_height="750dip"

android:

id="@+id/calendarView"

/>

NumberPicker控件

  这控件可用于设置时间的控件,允许用户选择一个数字,从一个预定范围。

该部件提供了一个输入字段和向上和向下选择一个数字按钮。

可按这两个按钮选择一个值填入显示框中,显示框还允许用户触摸滚动,这时会显示上个与下个的值,可以选择当前值来显示。

此类中提供了NumberPicker.setLeft()方法设置最小值,NumberPicker.setMaxValue()设置最大值,可用NumberPicker.setOnValueChangedListener()方法监听更改值事件,只需newOnValueChangeListener对象,并重写里面onValueChange()方法即可,示例代码如下:

效果图:

Src/

package;

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.widget.NumberPicker;

importandroid.widget.NumberPicker.OnValueChangeListener;

importandroid.widget.Toast;

publicclassNumberPickerActivityextendsActivity{

NumberPickermNumberPicker1=null;

NumberPickermNumberPicker2=null;

NumberPickermNumberPicker3=null;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.numberpicker_layout);

mNumberPicker1=(NumberPicker)findViewById(R.id.numberPicker1);

mNumberPicker1.setLeft(0);

mNumberPicker1.setMaxValue(24);

mNumberPicker1.setOnValueChangedListener(newOnValueChangeListener(){

@Override

publicvoidonValueChange(NumberPickerpicker,intoldVal,intnewVal){

Toast.makeText(NumberPickerActivity.this,picker.getValue()+getString(R.string.hours),Toast.LENGTH_SHORT).show();

}

});

mNumberPicker2=(NumberPicker)findViewById(R.id.numberPicker2);

mNumberPicker2.setLeft(0);

mNumberPicker2.setMaxValue(60);

mNumberPicker2.setOnValueChangedListener(newOnValueChangeListener(){

@Override

publicvoidonValueChange(NumberPickerpicker,intoldVal,intnewVal){

Toast.makeText(NumberPickerActivity.this,picker.getValue()+getString(R.string.minutes),Toast.LENGTH_SHORT).show();

}

});

mNumberPicker3=(NumberPicker)findViewById(R.id.numberPicker3);

mNumberPicker3.setLeft(0);

mNumberPicker3.setMaxValue(60);

mNumberPicker3.setOnValueChangedListener(newOnValueChangeListener(){

@Override

publicvoidonValueChange(NumberPickerpicker,intoldVal,intnewVal){

Toast.makeText(NumberPickerActivity.this,picker.getValue()+getString(R.string.second),Toast.LENGTH_SHORT).show();

}

});

}

}

res/layout/numberpicker_layout.xml

xmlversion="1.0"encoding="utf-8"?

>

xmlns:

android="

android:

layout_width="match_parent"

android:

layout_height="match_parent"

android:

orientation="vertical">

text="@string/hourset"

android:

layout_width="80dip"

android:

layout_height="wrap_content"

android:

gravity="center_horizontal"/>

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

orientation="horizontal">

id="@+id/numberPicker1"

android:

layout_width="80dip"

android:

layout_height="wrap_content"

android:

focusable="true"

android:

focusableInTouchMode="true"/>

text="@string/hours"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"/>

id="@+id/numberPicker2"

android:

layout_width="80dip"

android:

layout_height="wrap_content"

android:

focusable="true"

android:

focusableInTouchMode="true"/>

text="@string/minutes"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"/>

id="@+id/numberPicker3"

android:

layout_width="80dip"

android:

layout_height="wrap_content"

android:

focusable="true"

android:

focusableInTouchMode="true"/>

text="@string/second"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"/>

StackView控件

StackView(堆View),是AdapterViewAnimator的子类,一系列View的集合,这些View以层叠样式显示,并且View之间可以进行切换(切换方式有两种:

(1)拖动StackView组件中的某一个View,

(2)通过代码控制),这样每一个View都有机会显示给用户,供用户使用,并且在多个View切换过程中可以添加动画效果。

通过StackView.setAdapter()方法设置一组要显示的View,通过StackView.showPrevious()方法移动到前一个View,通过StackView.showNext()移动到下一个View示例代码如下:

效果图:

Src/

package;

importandroid.app.Activity;

importandroid.graphics.Color;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.StackView;

publicclassStackViewActivityextendsActivity{

privateint[]mColors={Color.BLUE,Color.CYAN,Color.GRAY,Color.GREEN,Color.RED};

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.stackview_layout);

finalStackViewstackView=(StackView)findViewById(R.id.mStackView);

ColorAdaptercolorAdapter=newColorAdapter(this,mColors);

stackView.setAdapter(colorAdapter);

finalButtonpreviousButon=(Button)findViewById(R.id.previousButton);

previousButon.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewview){

stackView.showPrevious();

}

});

finalButtonnextButton=(Button)findViewById(R.id.nextButton);

nextButton.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewview){

stackView.showNext();

}

});

}

}

Src/

package;

importandroid.content.Context;

importandroid.view.View;

importandroid.view.ViewGroup;

importandroid.widget.BaseAdapte

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1