進度條和列表形式顯示的控制元件

lcc發表於2021-09-09

ProgressBar和ListView

1、ProgressBar:是一種精進度條

activity_main.xml

<LinearLayout xmlns:android=""
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
    <ProgressBar
        android:id="@+id/firstBar"
        style="?android:attr/progressBarStyleHorizontal"               ------------------->當前進度條是以一種水平方式顯示出來的
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:max="200"                                 -----------------> 設定進度的最大值            
        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>

[程式碼]MainActivity.java程式碼:

public class MainActivity 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.activity_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{
        @Override
        public void onClick(View v) {            if(i == 0)
            {                //設定進度條處於可見的狀態
                firstBar.setVisibility(View.VISIBLE);
               // firstBar.setMax(150);                //或者設定其精度的最大值的另一種方法是在activity_main.xml中設定
                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 ;
        }
}
    }

2、ListView:其是以一種列表的形式顯示出來的

【注意:其類繼承了ListActivity,它也就是Activity的子類】

1)先是一個content_main.xml檔案

<LinearLayout
    xmlns:android=""
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:paddingBottom="1dip"
    android:paddingLeft="10dip"
    android:paddingRight="10dip"
    android:paddingTop="1dip">
    <TextView           
        android:id="@+id/user_name"
        android:layout_width="180dip"
        android:layout_height="30dip"
        android:singleLine="true"     ------------->點選某一條記錄,顏色會顯示在最上面,記錄上的文字被遮住,                                                           ----------->當點選文字不放,文字就看不到              
        android:textSize="5pt" />
    <TextView                        -------------->當ListView的內容不顯示的時候,就會去執行TestView中的內容
        android:id="@+id/user_ip"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="right"
        android:textSize="5pt" />
</LinearLayout>

2)[程式碼]MainActivity.java程式碼:

public class MainActivity extends ListActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);        ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();<hashmap<hashmap        HashMap mp1 = new HashMap();
        HashMap mp2 = new HashMap();
        HashMap mp3 = new HashMap();        //設定鍵值對的值
        mp1.put("user_name", "張三");
        mp1.put("user_ip", "123456789");
        mp2.put("user_name", "李四");
        mp2.put("user_ip", "0123456789");
        mp3.put("user_name", "王五");
        mp3.put("user_ip", "00123456789");        //把鍵值對的放入帶HashMap中
        list.add(mp1);
        list.add(mp2);
        list.add(mp3);        //利用一個簡單的介面卡把資料對映到介面裡
        SimpleAdapter listAdapter = new SimpleAdapter(this, list, R.layout.content_main, new String[]{"user_name", "user_ip"}, new int[]{R.id.user_name, R.id.user_ip});
        setListAdapter(listAdapter);
    }</hashmap</hashmap

原文連結:http://www.apkbus.com/blog-792467-60681.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2331/viewspace-2815251/,如需轉載,請註明出處,否則將追究法律責任。

相關文章