您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
安卓第三天笔记--通知-进度条-时期
 
作者:森林森 来自于:博客园 发布于 2016-3-15
  2733  次浏览      14
 

1.通知Notification

通知就是在是上方的状态栏弹出通知消息

<RelativeLayout 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"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity" >

<Button

android:onClick="send"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="发送通知" />

</RelativeLayout>


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

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

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

<TextView

android:id="@+id/tv"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="这是通知的跳转页面"/>

<ImageView

android:id="@+id/iv"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:src="@drawable/swift"/>

</LinearLayout>


/**

* 收到通知时,点击通知打开的Activity

* @author 刘楠

* 2016-2-19下午11:03:44

*/

public class OtherActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.other);

}

}

ManiActivity

/**

* 发送通知

* @author 刘楠

*

* 2016-2-19下午7:20:05

*/

public class MainActivity extends Activity {

private NotificationManager manager;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//获取通知管理器

manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

}

/**

* 发送通知

* @param v

*/

@SuppressLint("NewApi")

public void send(View v){

//创建一个启动的Intent意图

Intent intent = new Intent();

intent.setClass(this, OtherActivity.class);

//打开A description of an Intent and target action to perform with it

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

//建立通知

Notification notification = new Notification.Builder(this)

//设置打开通知

.setAutoCancel(true)

//状态栏显示的信息

.setTicker("状态栏显示的信息")

//设置通知的图标

.setSmallIcon(R.drawable.notify)

//设置内容标题

.setContentTitle("一条新的通知")

//设置通知的内容

.setContentText("恭喜您,您加薪了,工资增加20%")

.setContentIntent(pendingIntent)

//设置通知的声音

.build();

//发送一个通知

manager.notify(0, notification);

}

}

2.TitleProgressBar

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

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

android:orientation="horizontal"

android:layout_width="match_parent"

android:layout_height="match_parent">

<Button

android:id="@+id/btn1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:text="显示"

/>

<Button

android:id="@+id/btn2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:text="隐藏"

/>

</LinearLayout>


/**

* 标题栏上方显示进度条

* @author 刘楠

* 2016-2-19下午11:12:21

public class MainActivity extends Activity {

private Button btn1;

private Button btn2;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_PROGRESS);

//requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

setContentView(R.layout.activity_main);

btn1 = (Button) findViewById(R.id.btn1);

btn2 = (Button) findViewById(R.id.btn2);

btn1.setOnClickListener(new OnClickListener()

{

@Override

public void onClick(View source)

{

//显示不带进度的进度条

setProgressBarIndeterminateVisibility(true);

//显示带进度的进度条

setProgressBarVisibility(true);

//设置进度条的进度

setProgress(4500);

}

});

btn2.setOnClickListener(new OnClickListener()

{

@Override

public void onClick(View source)

{

//隐藏不带进度的进度条

setProgressBarIndeterminateVisibility(false);

//隐藏带进度的进度条

setProgressBarVisibility(false);

}

});

}

}

3.SeekBar--拖动改变图片的透明度

<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"

android:orientation="vertical"

tools:context=".MainActivity" >

<ImageView

android:id="@+id/iv"

android:layout_width="match_parent"

android:layout_height="240dp"

android:src="@drawable/lijiang"

android:alpha="1"/>

<SeekBar

android:id="@+id/seekbar"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:max="255"

android:progress="255"

android:thumb="@drawable/ic_launcher"

/>

<TextView

android:gravity="center_horizontal"

android:id="@+id/tv"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

</LinearLayout>


/**

* SeekBar

* 拖动SeekBar来改变图片的透明度

* @author 刘楠

* 2016-2-19下午11:09:43

public class MainActivity extends Activity {

private ImageView iv;

private SeekBar seekbar;

private TextView tv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

iv = (ImageView) findViewById(R.id.iv);

seekbar = (SeekBar) findViewById(R.id.seekbar);

tv = (TextView) findViewById(R.id.tv);

seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

@Override

public void onStopTrackingTouch(SeekBar seekBar) {

tv.setText(seekBar.getProgress()+"");

}

@Override

public void onStartTrackingTouch(SeekBar seekBar) {

tv.setText(seekBar.getProgress()+"");

}

@Override

public void onProgressChanged(SeekBar seekBar, int progress,

boolean fromUser) {

tv.setText(seekBar.getProgress()+"");

iv.setImageAlpha(progress);

}

});

}

}

4.RationBar---使用星星做为进度条,评价是常用

<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"

android:orientation="vertical"

tools:context=".MainActivity" >

<ImageView

android:id="@+id/iv"

android:layout_width="match_parent"

android:layout_height="240dp"

android:src="@drawable/lijiang"

android:alpha="1"/>

<RatingBar

android:id="@+id/ratingbar"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:max="255"

android:progress="255"

android:numStars="5"

android:stepSize="0.5"/>

<TextView

android:gravity="center_horizontal"

android:id="@+id/tv"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

</LinearLayout>


/**

* 使用星星做为进度条

* @author 刘楠

* 2016-2-19下午11:14:00

public class MainActivity extends Activity {

private ImageView iv;

private RatingBar ratingbar;

private TextView tv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

iv = (ImageView) findViewById(R.id.iv);

ratingbar = (RatingBar) findViewById(R.id.ratingbar);

ratingbar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {

@SuppressLint("NewApi")

@Override

public void onRatingChanged(RatingBar ratingBar, float rating,

boolean fromUser) {

iv.setImageAlpha((int) (rating*255/5));

}

});

}

}

5.选项卡

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

<TabHost

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@android:id/tabhost"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_weight="1">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

<TabWidget

android:id="@android:id/tabs"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

<FrameLayout

android:id="@android:id/tabcontent"

android:layout_width="match_parent"

android:layout_height="match_parent">

<!-- 定义第一个标签页的内容 -->

<LinearLayout

android:id="@+id/tab01"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="女儿国国王 - 2012/12/12"

android:textSize="11pt" />

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="东海龙女 - 2012/12/18"

android:textSize="11pt" />

</LinearLayout>

<!-- 定义第二个标签页的内容 -->

<LinearLayout

android:id="@+id/tab02"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="白骨精 - 2012/08/12"

android:textSize="11pt" />

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="蜘蛛精 - 2012/09/20"

android:textSize="11pt" />

</LinearLayout>

<!-- 定义第三个标签页的内容 -->

<LinearLayout

android:id="@+id/tab03"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:textSize="11pt">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="孙悟空 - 2012/09/19"

android:textSize="11pt" />

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="猪八戒 - 2012/10/12"

android:textSize="11pt" />

</LinearLayout>

</FrameLayout>

</LinearLayout>

</TabHost>


/**

* 使用选项卡,

* Activity要继承TabActivity

* @author 刘楠

* 2016-2-19下午11:16:12

public class MainActivity extends TabActivity

{

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 获取该Activity里面的TabHost组件

TabHost tabHost = getTabHost();

// 创建第一个Tab页

TabHost.TabSpec tab1 = tabHost.newTabSpec("tab1")

.setIndicator("已接电话") // 设置标题

.setContent(R.id.tab01); //设置内容

// 添加第一个标签页

tabHost.addTab(tab1);

TabHost.TabSpec tab2 = tabHost.newTabSpec("tab2")

// 在标签标题上放置图标

.setIndicator("呼出电话", getResources()

.getDrawable(R.drawable.ic_launcher))

.setContent(R.id.tab02);

// 添加第二个标签页

tabHost.addTab(tab2);

TabHost.TabSpec tab3 = tabHost.newTabSpec("tab3")

.setIndicator("未接电话")

.setContent(R.id.tab03);

// 添加第三个标签页

tabHost.addTab(tab3);

}

}

7.ViewFlipper

使用ViewFlipper来播放图片 这个控件继承了ViewAnimator

调用showPrevious显示上一张

showNext();显示下一张

startFlipping();开始自动播放

stopFlipping();停止播放

设置进入的动画效果与方向

viewFlipper.setInAnimation(this, android.R.anim.slide_out_right);

设置切换下一张时的动画效果与方向

viewFlipper.setOutAnimation(this, android.R.anim.slide_in_left);

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

<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent">

<ViewFlipper

android:id="@+id/details"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:flipInterval="2000"

>

<ImageView

android:src="@drawable/android"

android:layout_width="match_parent"

android:layout_height="wrap_content">

</ImageView>

<ImageView

android:src="@drawable/java"

android:layout_width="match_parent"

android:layout_height="wrap_content">

</ImageView>

<ImageView

android:src="@drawable/javaee"

android:layout_width="match_parent"

android:layout_height="wrap_content">

</ImageView>

</ViewFlipper>

<Button

android:text="&lt;"

android:onClick="prev"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:layout_alignParentLeft="true"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:layout_centerInParent="true"

android:onClick="auto"

android:text="自动播放"/>

<Button

android:text="&gt;"

android:onClick="next"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:layout_alignParentRight="true"/>

</RelativeLayout>


/**

* 使用ViewFlipper来播放图片 这个控件继承了ViewAnimator

* 调用showPrevious显示上一张

* showNext();显示下一张

startFlipping();开始自动播放

stopFlipping();停止播放

设置进入的动画效果与方向

viewFlipper.setInAnimation(this, android.R.anim.slide_out_right);

设置切换下一张时的动画效果与方向

viewFlipper.setOutAnimation(this, android.R.anim.slide_in_left);

* @author 刘楠

* 2016-2-19下午11:19:40

public class MainActivity extends Activity {

private ViewFlipper viewFlipper;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

viewFlipper = (ViewFlipper) findViewById(R.id.details);

}

/*

* 上一个

*/

public void prev(View v){

viewFlipper.setInAnimation(this, android.R.anim.slide_out_right);

viewFlipper.setOutAnimation(this, android.R.anim.slide_in_left);

viewFlipper.showPrevious();

viewFlipper.stopFlipping();

}

/*

* 下一个

*/

public void next(View v){

viewFlipper.setInAnimation(this, android.R.anim.slide_in_left);

viewFlipper.setOutAnimation(this, android.R.anim.slide_out_right);

viewFlipper.showNext();

viewFlipper.stopFlipping();

}

/*

* 自动播放

*/

public void auto(View v){

viewFlipper.setInAnimation(this, android.R.anim.slide_in_left);

viewFlipper.setOutAnimation(this, android.R.anim.slide_out_right);

viewFlipper.startFlipping();

}

}

8.TextSwitch

使用时要建立一个工厂,返回必须为TextView

<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"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity" >

<TextSwitcher

android:id="@+id/textSwicher"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:inAnimation="@android:anim/slide_in_left"

android:outAnimation="@android:anim/slide_out_right"

android:onClick="next"/>

</LinearLayout>


/**

* TextSwitcher继承 ViewSwitcher继承ViewAnimator

* 使用时要建立一个工厂

* @author 刘楠

* 2016-2-19下午11:23:23

public class MainActivity extends Activity {

private TextSwitcher textSwicher;

private String [] strs = {

"疯狂JAVA讲义",

"疯狂Andorid讲义",

"疯狂XML讲义",

"疯狂Ajax讲义",

"疯狂JAVA EE讲义"

};

private int cusStr=0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

textSwicher = (TextSwitcher) findViewById(R.id.textSwicher);

//设置工厂

textSwicher.setFactory(new ViewFactory() {

@Override

public View makeView() {

TextView tv= new TextView(MainActivity.this);

tv.setTextSize(40);

tv.setTextColor(Color.MAGENTA);

return tv;

}

});

}

public void next(View view){

textSwicher.setText(strs[cusStr++%strs.length]);

}

}

9.Data类控件

CalendarView

<?xml version="1.0" encoding="utf-8"?>
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.itheima.calendarview.MainActivity">

<TextView
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="28sp"
android:textColor="#66ff0000"
android:text="请选择日期"/>

<CalendarView
android:id="@+id/cv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:firstDayOfWeek="1"
android:shownWeekCount="4"
android:selectedWeekBackgroundColor="#aff"
android:focusedMonthDateColor="#f00"
android:weekSeparatorLineColor="#ff0"
android:unfocusedMonthDateColor="#f9f">

</CalendarView>

<TextView
android:id="@+id/tv"
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="28sp"
android:textColor="#66ff0000"/>

</LinearLayout>


public class MainActivity extends AppCompatActivity {

private CalendarView cv;

private TextView tv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

cv = (CalendarView) findViewById(R.id.cv);

tv = (TextView) findViewById(R.id.tv)

//设置监听器

cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {

@Override

public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {

//显示用户选择日期

Toast.makeText(MainActivity.this,year+"年"+month+"月"+dayOfMonth+"日",Toast.LENGTH_SHORT).show();

}

});

}

}

DatePicker与TimePicker

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

<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"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

android:orientation="vertical"

tools:context="com.itheima.datetimepicker.MainActivity">

<TextView

android:gravity="center_horizontal"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:textSize="28sp"

android:text="请选择日期"/>

<DatePicker

android:id="@+id/dataPicker"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:calendarViewShown="true"

android:calendarTextColor="@color/colorAccent"

android:layout_gravity="center_horizontal"

android:startYear="2000"

android:endYear="2020"

android:spinnersShown="true">

</DatePicker>

<TimePicker

android:id="@+id/timePicker"

android:layout_width="match_parent"

android:layout_height="wrap_content"

>

</TimePicker>

<EditText

android:id="@+id/et_show"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:editable="false"

android:cursorVisible="false"/>

</LinearLayout>


public class MainActivity extends AppCompatActivity {

private DatePicker dataPicker;

private TimePicker timePicker;

private EditText et_show;

private int year;

private int month;

private int day;

private int hour;

private int minute;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

dataPicker = (DatePicker) findViewById(R.id.dataPicker);

timePicker = (TimePicker) findViewById(R.id.timePicker);

et_show = (EditText) findViewById(R.id.et_show);

/*

获取当前时间

*/

Calendar calendar = Calendar.getInstance();

year =calendar.get(Calendar.YEAR);

month =calendar.get(Calendar.MONTH);

day =calendar.get(Calendar.DAY_OF_MONTH);

hour =calendar.get(Calendar.HOUR_OF_DAY);

minute =calendar.get(Calendar.MINUTE);

/*

初始化日期DataPicker组件

*/

dataPicker.init(year, month, day, new DatePicker.OnDateChangedListener() {

@Override

public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

MainActivity.this.year=year;

MainActivity.this.month = monthOfYear;

MainActivity.this.day = dayOfMonth;

showDate(year,month,day,hour,minute);

}

});

/*

设置监听器

*/

timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {

@Override

public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {

MainActivity.this.hour=hourOfDay;

MainActivity.this.minute = minute;

showDate(year,month,day,hour,minute);

}

});

}

private void showDate(int year,int month,int day,int hour,int minute){

et_show.setText("日期:"+year+"年"+month+"月"+day+"月"+hour+"时"+minute+"分");

}

}

10.SearchView

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

<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"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

android:orientation="vertical"

tools:context="com.itheima.searchview.MainActivity">

<SearchView

android:id="@+id/sv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<ListView

android:id="@+id/lv"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1">

</ListView>

</LinearLayout>


/**

* 搜索框的使用

*/

public class MainActivity extends AppCompatActivity {

private SearchView sv;

private ListView lv;

private String [] mStrings = {

"aaa",

"bbbb",

"ccccc",

"dddddd",

"eeeeeee"

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

sv = (SearchView) findViewById(R.id.sv);

lv = (ListView) findViewById(R.id.lv);

//适配器

lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mStrings));

//启用过滤

lv.setTextFilterEnabled(true);

//是否自动缩小为图标

sv.setIconifiedByDefault(false);

//显示搜索按键

sv.setSubmitButtonEnabled(true);

//设置搜索框内显示的文件

sv.setQueryHint("查找");

sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

@Override

public boolean onQueryTextSubmit(String query) {

Toast.makeText(MainActivity.this,"选择是:"+query,Toast.LENGTH_SHORT).show();

return false;

}

/**

* 单击搜索按键时激发的事件

* @param newText

* @return

*/

@Override

public boolean onQueryTextChange(String newText) {

if(TextUtils.isEmpty(newText)){

//清除listview中的内容

lv.clearTextFilter();

}else{

lv.setFilterText(newText);

}

return true;

}

});

}

}

11自动完成AutoCompleteTextView

AutoCompleteTextView 单个完成

MultiAutoCompleteTextView可以有多个值,用,号分隔

<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MainActivity" >

<AutoCompleteTextView
android:id="@+id/auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionHint="请选择喜欢的图书"
android:dropDownHorizontalOffset="10dp"
android:completionThreshold="1"/>
<MultiAutoCompleteTextView
android:id="@+id/mauto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"/>
</LinearLayout>


/**
* 自动完成文件框

* @author 刘楠
*
* 2016-2-19下午11:55:16
*/
public class MainActivity extends Activity {

private AutoCompleteTextView auto;
private MultiAutoCompleteTextView mauto;
String[] books = { "疯狂JAVA讲义", "疯狂Android讲义", "疯狂Ajax讲义", "疯狂XML讲义",
"疯狂workflow讲义" };

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
auto = (AutoCompleteTextView) findViewById(R.id.auto);
mauto = (MultiAutoCompleteTextView) findViewById(R.id.mauto);

ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this, android.R.layout.simple_dropdown_item_1line,
books);

auto.setAdapter(adapter);

mauto.setAdapter(adapter);
//设置分隔符
mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

}

}

12.时钟

AnalogClock与TextClock

format12Hour:设置时钟12小时制字符串

format24Hour:设置时钟24小时制字符串

timeZone:设置时区

dial:设置模拟时钟表盘使用的图片

hand_hour:时针使用的图片

hand_minuties:分针使用的图片

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<!-- 定义模拟时钟 -->
<AnalogClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<!-- 定义数字时钟 -->
<TextClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10pt"
android:textColor="#f0f"
android:format12Hour="yyyy年MM月dd日 H:mma EEEE"
android:drawableEnd="@drawable/ic_launcher"/>
<!-- 定义模拟时钟,并使用自定义表盘、时针图片 -->
<AnalogClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:dial="@drawable/watch"
android:hand_minute="@drawable/hand"/>
</LinearLayout>

13计时器Chronometer

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<Chronometer
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12pt"
android:textColor="#ffff0000"/>
<Button
android:id="@+id/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="启动"/>
</LinearLayout>

/**
* 计时器

* @author 刘楠
*
* 2016-2-20上午12:15:09
*/
public class MainActivity extends Activity {
Chronometer ch;
Button start;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取计时器组件
ch = (Chronometer) findViewById(R.id.test);
// 获取“开始”按钮
start = (Button) findViewById(R.id.start);
start.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View source)
{
// 设置开始计时时间
ch.setBase(SystemClock.elapsedRealtime());
// 启动计时器
ch.start();
start.setEnabled(false);
}
});
// 为Chronometer绑定事件监听器
ch.setOnChronometerTickListener(new OnChronometerTickListener()
{
@Override
public void onChronometerTick(Chronometer ch)
{
// 如果从开始计时到现在超过了20s
if (SystemClock.elapsedRealtime() - ch.getBase() > 20 * 1000)
{
ch.stop();
start.setEnabled(true);
}
}
});
}

}

   
2733 次浏览       14
 
相关文章

手机软件测试用例设计实践
手机客户端UI测试分析
iPhone消息推送机制实现与探讨
Android手机开发(一)
 
相关文档

Android_UI官方设计教程
手机开发平台介绍
android拍照及上传功能
Android讲义智能手机开发
相关课程

Android高级移动应用程序
Android系统开发
Android应用开发
手机软件测试
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]

android人机界面指南
Android手机开发(一)
Android手机开发(二)
Android手机开发(三)
Android手机开发(四)
iPhone消息推送机制实现探讨
手机软件测试用例设计实践
手机客户端UI测试分析
手机软件自动化测试研究报告
更多...   

Android高级移动应用程序
Android应用开发
Android系统开发
手机软件测试
嵌入式软件测试
Android软、硬、云整合

领先IT公司 android开发平台最佳实践
北京 Android开发技术进阶
某新能源领域企业 Android开发技术
某航天公司 Android、IOS应用软件开发
阿尔卡特 Linux内核驱动
艾默生 嵌入式软件架构设计
西门子 嵌入式架构设计
更多...