当前位置: 代码迷 >> Android >> Android12_ProgressBar跟ListView
  详细解决方案

Android12_ProgressBar跟ListView

热度:90   发布时间:2016-05-01 17:23:58.0
Android12_ProgressBar和ListView

一、ProgressBar的使用方法

在数据下载、大量数据处理时应该给用户一个图形化的显示。所以可以使用ProgressBar。

main.xml

?

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/hello"    /><!-- 水平进度条样式  gone的意思是进度条处于不可见状态--><ProgressBar	android:id="@+id/firstBar"	style="?android:attr/progressBarStyleHorizontal" 	android:layout_width="200dp"	android:layout_height="wrap_content"	android:visibility="gone"	/><!-- 圆圈形样式 --><ProgressBar	android:id="@+id/secondBar"	style="?android:attr/progressBarStyle" 	android:layout_width="wrap_content"	android:layout_height="wrap_content"	android:visibility="gone"	/><Button	android:id="@+id/myButton"	android:layout_width="wrap_content"	android:layout_height="wrap_content"	android:text="begin"	/></LinearLayout>

?Activity09.java

?

package com.android.activity;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ProgressBar;public class Activity09 extends Activity {    /** Called when the activity is first created. */	//声明变量	private ProgressBar firstBar =null;	private ProgressBar secondBar = null;	private Button myButton = null;	//用于模拟进度条增量	private int i = 0 ;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        //根据控件的ID来取得代表控件的对象        firstBar = (ProgressBar)findViewById(R.id.firstBar);        secondBar = (ProgressBar)findViewById(R.id.secondBar);        myButton = (Button)findViewById(R.id.myButton);        myButton.setOnClickListener(new ButtonListener());    }    class ButtonListener implements OnClickListener{    			public void onClick(View v) {			if(i == 0){				//设置进度条处于可见的状态				firstBar.setVisibility(View.VISIBLE);				//设置进度条的最大值,不设置默认的最大值是100				firstBar.setMax(150);				secondBar.setVisibility(View.VISIBLE);			}			else if ( i < firstBar.getMax()){				//设置主进度条的当前值(深颜色的)				firstBar.setProgress(i);				//设置第二进度条的当前值,				firstBar.setSecondaryProgress(i + 10);				//因为第二进度条是圆圈样式的,默认的进度条无法显示进行的状态,可有可无				//secondBar.setProgress(i);			}			else{				//设置进度条处于不可见状态				firstBar.setVisibility(View.GONE);				secondBar.setVisibility(View.GONE);			}			i = i + 10 ;		}    }}

?运行结果:


? ??
?点击按钮之后


? ??

二、ListView的使用方法

以列表的方式显示数据。

main.xml

?

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"	android:orientation="vertical" android:layout_width="fill_parent"	android:layout_height="fill_parent">	<LinearLayout 		android:id="@+id/listLinearLayout"		android:layout_width="fill_parent" 		android:layout_height="wrap_content"		android:orientation="vertical">			<ListView 				android:id="@id/android:list" 				android:layout_width="fill_parent"				android:layout_height="wrap_content" 				android:drawSelectorOnTop="false"				android:scrollbars="vertical" />	</LinearLayout></LinearLayout>

?user.xml

?

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"	android:layout_width="fill_parent" 	android:layout_height="fill_parent"	android:orientation="horizontal" 	android:paddingLeft="10dip"	android:paddingRight="10dip" 	android:paddingTop="1dip"	android:paddingBottom="1dip">		<TextView 			android:id="@+id/username" 			android:layout_width="180dip"			android:layout_height="30dip" 			android:textSize="10pt"			android:singleLine="true" />		<TextView android:id="@+id/password" 			android:layout_width="fill_parent"			android:layout_height="fill_parent" 			android:gravity="right"			android:textSize="10pt" /></LinearLayout>

?ListViewActivity.java

?

package com.android.activity;import java.util.ArrayList;import java.util.HashMap;import android.app.ListActivity;import android.os.Bundle;import android.view.View;import android.widget.ListView;import android.widget.SimpleAdapter;public class ListViewActivity extends ListActivity {	@Override	public void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.main);		ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();		HashMap<String, String> map1 = new HashMap<String, String>();		HashMap<String, String> map2 = new HashMap<String, String>();		HashMap<String, String> map3 = new HashMap<String, String>();		HashMap<String, String> map4 = new HashMap<String, String>();		map1.put("username", "用户名");		map1.put("password", "密码");		map2.put("username", "bauble");		map2.put("password", "123456");		map3.put("username", "allotory");		map3.put("password", "654321");		map4.put("username", "severus");		map4.put("password", "987654");		list.add(map1);		list.add(map2);		list.add(map3);		list.add(map4);		//SimpleAdepter是Android提供的一种最简单的适配器		SimpleAdapter listAdapter = new SimpleAdapter(this, list,				R.layout.user, new String[] { "username", "password" },				new int[] { R.id.username,R.id.password});		setListAdapter(listAdapter);	}	protected void onListItemClick(ListView l, View v, int position, long id) {		super.onListItemClick(l, v, position, id);	}}
?

运行结果:


? ??

  相关解决方案