UI常用控件的使用方法

1.新建項目<UIWidgetTest>
2.在layout目錄下,在activity_main.xml中添加各種自己所需的常用控件
3.在Java目錄下,在MainActivity.java中,加載佈局,指定各控件的活動
4.在AndroidManifest.xml下,註冊主活動

代碼如下:
layout——>activity_main.xml(2)
<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="com.administrator.uiwidgettest.MainActivity">

    <TextView
        android:id="@+id/text_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="24sp"
        android:textColor="#0015ff"
        android:text="This is TextView"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true" />

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="顯示文本框內容"
        android:layout_below="@+id/text_view"
        android:layout_alignParentStart="true" />

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="更換圖片"
        android:layout_below="@+id/button"
        android:layout_alignParentStart="true" />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="圓形進度條"
        android:layout_below="@+id/button1"
        android:layout_alignParentStart="true" />

    <Button
        android:id="@+id/button3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="條形進度條"
        android:layout_below="@+id/button2"
        android:layout_alignParentStart="true" />

    <Button
        android:id="@+id/button4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="警告信息"
        android:layout_below="@+id/button3"
        android:layout_alignParentEnd="true" />

    <Button
        android:id="@+id/button5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="進度對話框"
        android:layout_below="@+id/button4"
        android:layout_alignParentEnd="true" />

    <EditText
        android:id="@+id/edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Type something here"
        android:maxLines="2"
        android:layout_below="@+id/button4"
        android:layout_alignParentStart="true"
        android:layout_marginTop="48dp" />

    <ImageView
        android:id="@+id/image_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:src="@mipmap/ic_launcher"
        android:layout_below="@+id/edit_text"
        android:layout_alignParentStart="true" />
    //ImageView是用於在界面上展示圖片的一個控件

    <ProgressBar
        android:id="@+id/progress_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/button4"
        android:layout_alignParentTop="true" />
    //默認的是圓形進度條
    //ProgressBar用於在界面上顯示一個進度條,表示程序正在加載一些數據

    <ProgressBar
        android:id="@+id/progress_bar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        style="?android:attr/progressBarStyleHorizontal"
        android:max="100"/>//通過android:max屬性給進度條設置一個最大值
    //通過style屬性來設置進度條類型,現在是條狀的
</RelativeLayout>
Java——>MainActivity.java (3)
//——下面使用匿名類的方式來註冊監聽器
//public class MainActivity extends AppCompatActivity {
//    private Button button;
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
//        button =(Button) findViewById(R.id.button);
//        button.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View view) {
//                //在此添加邏輯
//                Toast.makeText(MainActivity.this, "You click Button", Toast.LENGTH_SHORT).show();
//            }
//        });
//    }
//}
//——下面使用實現接口的方式來註冊監聽器
public class MainActivity extends Activity implements View.OnClickListener{
    private Button button;
    private Button button1;
    private Button button2;
    private Button button3;
    private Button button4;
    private Button button5;
    private EditText editText;//通過點擊按鈕來獲取EditText中輸入的內容
    private ImageView imageView;
    private ProgressBar progressBar;
    private ProgressBar progressBar1;
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button=(Button) findViewById(R.id.button);
        button1=(Button) findViewById(R.id.button1);
        button2=(Button) findViewById(R.id.button2);
        button3=(Button) findViewById(R.id.button3);
        button4=(Button) findViewById(R.id.button4);
        button5=(Button) findViewById(R.id.button5);
        editText = (EditText) findViewById(R.id.edit_text);//(通過findViewById()方法得到EditText的實例) 通過點擊按鈕來獲取EditText中輸入的內容
        imageView =(ImageView) findViewById(R.id.image_view);
        progressBar =(ProgressBar) findViewById(R.id.progress_bar);
        progressBar1=(ProgressBar) findViewById(R.id.progress_bar1);
        button.setOnClickListener(this);
        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);
        button4.setOnClickListener(this);
        button5.setOnClickListener(this);
    }
    @Override
    public void onClick(View v){
        switch (v.getId()){
            case R.id.button:
                //在此處添加邏輯
                String inputText editText.getText().toString();
                //(在按鈕點擊事件裏調用EditText的getText()方法獲取到輸入的內容,在調用toString()方法轉換成字符串)
                // 通過點擊按鈕來獲取EditText中輸入的內容
                Toast.makeText(MainActivity.this, inputTextToast.LENGTH_SHORT).show();
                //(使用Toast將輸入的內容顯示出來)
                // 通過點擊按鈕來獲取EditText中輸入的內容
                break;

            case R.id.button1://將圖片1轉換爲圖片2
                //在此處添加邏輯
                imageView.setImageResource(R.drawable.ic_launcher);//調用setImageResource()方法將原來的圖片改掉
                break;

            case R.id.button2://效果:可看到控件在可見於不可見之間切換
                //Android控件有三種屬性:
                // visible 控件可見(不指定android:visibility時,控件都是可見的)
                //invisible 控件不可見,但是仍然佔據着原來的位置和大小,就像是透明狀態
                //gone 控件不可見,並且不再佔用任何屏幕空間
                if (progressBar.getVisibility() == View.GONE){//通過getVisibility()方法來判斷ProgressBar是否可見
                    progressBar.setVisibility(View.VISIBLE);//如果控件不可見,就將progressBar顯示出來
                }
                else{
                    progressBar.setVisibility(View.GONE);//如果控件可見,就將progressBar隱藏起來
                }
                break;

            case R.id.button3://效果:一點點填滿進度條
                //在代碼中動態的更改進度條的進度
                int progress = progressBar1.getProgress();
                progress = progress +10;
                progressBar1.setProgress(progress);
                break;

            case R.id.button4:
                AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);//通過AlertDialog.Builder創建出一個AlertDialog的實例
                dialog.setTitle("This is Dialog");//設置標題
                dialog.setMessage("Something important.");//設置內容
                dialog.setCancelable(false);//設置可否取消屬性
                dialog.setPositiveButton("OK",new DialogInterface.OnClickListener(){//調用setPositiveButton()方法爲對話框設置確定按鈕的點擊事件
                    @Override
                    public void onClick(DialogInterface dialog,int which){
                    }
                });
                dialog.setNegativeButton("Cancel",new DialogInterface.OnClickListener(){//setNegativeButton()方法爲對話框設置取消按鈕的點擊事件
                    @Override
                    public void onClick(DialogInterface dialog,int which){
                    }
                });
                dialog.show();//通過調用show()方法將AlertDialog顯示出來
                break;

            case R.id.button5:
                ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);//構建一個ProgressDialog對象
                progressDialog.setTitle("This is ProgressDialog");//設置標題
                progressDialog.setMessage("Loading");//設置內容
                progressDialog.setCancelable(true);//設置可否取消屬性
                // (注意:如果設置爲false,表示ProgressDialog是不能通過Back鍵取消的,一定要在代碼中做好控制,
                // 當數據加載完成後就必須調用ProgressDialog的dismiss()方法來關閉對話框,
                // 否則ProgressDialog將會一直存在)
                progressDialog.show();//通過調用show()方法將ProgressDialog顯示出來
                break;
            default:
                break;
        }

    }
}
manifests——> AndroidManifest.xml(4)
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

顯示結果如下:
1.主界面

2.在文本框中輸入內容,點擊“顯示文本框內容”,即可顯示如下界面

3.點擊“更換圖片”,即可顯示如下界面

4.點擊“圓形進度條”,即可控制圓形進度的顯示與否,顯示如下界面

5.點擊“條形進度條”,即可控制條形進度條的進度,顯示如下界面

6.點擊“警告信息”,即可顯示如下界面

7.點擊“進度對話框”,即可顯示如下界面


//——下面使用匿名類的方式來註冊監聽器
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button =(Button) findViewById(R.id.button);
        editText = (EditText) findViewById(R.id.edit_text);//(通過findViewById()方法得到EditText的實例) 通過點擊按鈕來獲取EditText中輸入的內容
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //在此添加邏輯
                String inputText = editText.getText().toString();
                //(在按鈕點擊事件裏調用EditText的getText()方法獲取到輸入的內容,在調用toString()方法轉換成字符串)
                // 通過點擊按鈕來獲取EditText中輸入的內容
                Toast.makeText(MainActivity.this, inputTextToast.LENGTH_SHORT).show();
                //(使用Toast將輸入的內容顯示出來)
                // 通過點擊按鈕來獲取EditText中輸入的內容
            }
        });
        button2=(Button) findViewById(R.id.button2);
        progressBar =(ProgressBar) findViewById(R.id.progress_bar);
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (progressBar.getVisibility() == View.GONE){//通過getVisibility()方法來判斷ProgressBar是否可見
                    progressBar.setVisibility(View.VISIBLE);//如果控件不可見,就將progressBar顯示出來
                }
                else{
                    progressBar.setVisibility(View.GONE);//如果控件可見,就將progressBar隱藏起來
                }
            }
        });
    }
}












發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章