zoukankan      html  css  js  c++  java
  • (Android第一行代码)UI开发

    常见控件的使用方法

      1.TextView(主要用于在界面上显示一段文本信息)。

        <LinearLayout xmlns: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/text_view"  

                    android:layout_width="match_parent"     

                    android:layout_height="wrap_content"      

                       //表示文字在垂直和水平方向都居中对齐

                     android:gravity="center" 

                       //指定文字的大小

                      android:textSize="24sp" 

                       //指定文 字的颜色

                     android:textColor="#00ff00"

                    android:text="This is TextView" />
     
        </LinearLayout>


       2. Button(我们可以在 MainActivity中为 Button的点击事件注册一个监听器)

       3.EditText(它允许用户在控件里输入和编 辑内容,并可以在程序中对这些内容进行处理)

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

                      android:layout_width="match_parent"   

                      android:layout_height="match_parent"   

                      android:orientation="vertical" >   

                       ……     

                   <EditText    

                     android:id="@+id/edit_text"    

                     android:layout_width="match_parent"   

                     android:layout_height="wrap_content"   

                   // 在输入框里显示一些提示性 的文字

                      android:hint="Type something here"

                   />

                   // android:maxLines指定了 EditText的最大行数为两行这样当输入的内容超过 两行时,文本就会向上滚动,而 EditText则不会再继续拉伸,

                    android:maxLines="2"

          </LinearLayout>


       4.我们还结合使用 EditText 与 Button 来完成一些功能,通过点击按钮来获取 EditText中输入的内容。

           public class MainActivity extends Activity implements OnClickListener {

                     private Button button;   

                     private EditText editText;
     
                     @textView

               //在oncreat方法中获取textView和Button空间,为Button添加点击事件消息。

             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);

                 button.setOnClickListener(this); 

         }

           @Override

      public void onClick(View v) { 

                 switch (v.getId()) {

           case R.id.button:

              //获取textView控件中的内容,并用Toast输出。  

                 String inputText = editText.getText().toString(); 

                 Toast.makeText(MainActivity.this, inputText, Toast.LENGTH_SHORT).show();  

                        break;  

                  default:  

                       break;  

                } 


    5.ImageView(ImageView是用于在界面上展示图片的一个控件)

    •     drawable 文件夹下放一张 ic_launcher.png图片
    •              修改 activity_main.xml

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

                  android:layout_width="match_parent"   

                  android:layout_height="match_parent"  

                  android:orientation="vertical" >
                   …… 
               <ImageView   

                    android:id="@+id/image_view"      

                    android:layout_width="wrap_content"   

                    android:layout_height="wrap_content"   

               //这里使用 android:src属性给 ImageView指定了一张图片。

                   android:src="@drawable/ic_launcher"    

            />

    </LinearLayout>

    •     动态地更改 ImageView中的图片我准备了另外一张 图片,jelly_bean.png,将它复制到 res/drawable-hdpi目录下,然后修改 MainActivity的代码,

               public class MainActivity extends Activity implements OnClickListener { 

                       private Button button;  

                       private EditText editText; 

                       private ImageView imageView;
     
                          @Override 

                      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);

                 //获取imageView控件。

                     imageView  = (ImageView) findViewById(R.id.image_view); 

                     button.setOnClickListener(this); 

             }
     
               @Override 

              public void onClick(View v) { 

                    switch (v.getId())

               {  

                     case R.id.button:  

                  //在点击事件里将图片动态的改为jelly_bean.png

                     imageView.setImageResource(R.drawable.jelly_bean);  

                              break; 

                             default: 

                               break; 

                        } 

               } 
         }


      6.ProgressBar进度条(ProgressBar用于在界面上显示一个进度条,表示我们的程序正在加载一些数据。)

    •        在界面上显示一个进度条

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

                    android:layout_width="match_parent" 

                    android:layout_height="match_parent" 

                    android:orientation="vertical" > 
                  …… 
             <ProgressBar     

                    android:id="@+id/progress_bar"  

                    android:layout_width="match_parent"      

                    android:layout_height="wrap_content"    

                 />

       </LinearLayout>

     重新运行程序,会看到屏幕中有一个圆形进度条正在旋转

    •    让进度条在数据加载完成时消失

             使用:android:visibility 进行指定让进度条在数据加载完成时消失可选值有三种,visible、invisible 和 gone

                      visible 表示控件是可见的:

                      invisible表示控件不可见,

                      gone则表示控件不仅不可见, 而且不再占用任何屏幕空间

          修改 MainActivity中的代码

              public class MainActivity extends Activity implements OnClickListener { 

                   private Button button;  

                   private EditText editText;

                   private ImageView imageView;

                   private ProgressBar progressBar;
          
                     @Override

                   protected void onCreate(Bundle savedInstanceState) {

                   super.onCreate(savedInstanceState); 

                   setContentView(R.layout.activity_main);  

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

                   progressBar = (ProgressBar) findViewById(R.id.progress_bar); 

                   button.setOnClickListener(this);

            }
     
               @Override 

              public void onClick(View v) {  

                 switch (v.getId()) { 

                  case R.id.button:   

       //我们通过 getVisibility()方法来判断 ProgressBar 是否可见,如果 可见就将 ProgressBar隐藏掉,如果不可见就将 ProgressBar显示出来

              if (progressBar.getVisibility() == View.GONE) {  

              progressBar.setVisibility(View.VISIBLE); 

               } else {    

             progressBar.setVisibility(View.GONE); 

            } 

              break; 

             default:   

              break;  

            } 

           }
     
        }

    •  给 ProgressBar指定不同的样式,刚刚是圆形进度条,通过 style属性 可以将它指定成水平进度条。

          修改 activity_main.xml中的代码

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

                          android:layout_width="match_parent"  

                          android:layout_height="match_parent"  

                         android:orientation="vertical" >

                ……
     
                   <ProgressBar   

                         android:id="@+id/progress_bar"  

                         android:layout_width="match_parent"     

                         android:layout_height="wrap_content" 

                 //指定成水平进度条后

                         style="?android:attr/progressBarStyleHorizontal" 

                  //给进度条设置一个最大值

                         android:max="100"    

                  />

          </LinearLayout>

    • 然 后在 MainActivity代码中动态地更改进度条的进度。

            public class MainActivity extends Activity implements OnClickListener { 

                        …… 

                       @Override 

                   public void onClick(View v) {

                         switch (v.getId()) { 

                         case R.id.button: 

                      //每点击一次按钮,我们就获取进度条的当前进度,然后在现有的进度上加 10 作为更新 后的进度。

                         int progress = progressBar.getProgress();  

                         progress = progress + 10;

                         progressBar.setProgress(progress);  

                                         break;  

                                        default:  

                                        break;  

                               }

                       }

               }


          7.AlertDialog: AlertDialog可以在当前的界面弹出一个对话框

        AlertDialog 都是用于提示一些非常重要的 内容或者警告信息。比如为了防止用户误删重要内容,在删除前弹出一个确认对话框。

        public class MainActivity extends Activity implements OnClickListener {

                         ……

                   @Override 

                public void onClick(View v) { 

                      switch (v.getId()) { 

                      case R.id.button:  

                  //先通过 AlertDialog.Builder创建出一个 AlertDialog的实例.

                      AlertDialog.Builder dialog = new AlertDialog.Builder

                     (MainActivity.this);  

                  //然后为这个对话框设 置标题、内容、可否取消等属性

                     dialog.setTitle("This is Dialog"); 

                    dialog.setMessage("Something important."); 

                    dialog.setCancelable(false);   

                // 接下来调用 setPositiveButton()方法为对话框设置确定按钮 的点击事件,

                    dialog.setPositiveButton("OK", new DialogInterface.

                      OnClickListener() {

                                @Override 

                    public void onClick(DialogInterface dialog, int which) {  

                         }  

                    });  

               //调用 setNegativeButton()方法设置取消按钮的点击事件。

                   dialog.setNegativeButton("Cancel", new DialogInterface.

                     OnClickListener() {

                           @Override   

                  public void onClick(DialogInterface dialog, int which) {  

                }   

                 });   

       //最后调用 show()方法 将对话框显示出来。

               dialog.show();   

                   break; 

                    default: 

                    break;  

                  } 

                  }

        }


    8. ProgressDialog : ProgressDialog 会在对话框中显示一个进度条,一般是 用于表示当前操作比较耗时,让用户耐心地等待。

          public class MainActivity extends Activity implements OnClickListener {

                      ……

                   @Override

               public void onClick(View v) { 

                    switch (v.getId()) { 

                     case R.id.button:  

                     ProgressDialog progressDialog = new ProgressDialog (MainActivity.this);  

                    progressDialog.setTitle("This is ProgressDialog");   

                    progressDialog.setMessage("Loading...");  

                    progressDialog.setCancelable(true);   

                    progressDialog.show();   

                              break;  

                            default:  

                              break; 

                       } 

                  }

           }

        

  • 相关阅读:
    ES6中的新特性
    怎样优化CPU
    es6 一些小知识
    ECMAScript有6种继承方式(实现继承)
    angula的factory service provider
    angular的继承作用域通信
    MVP和MVC的区别
    判断浏览器版本语句大全
    IScroll5+在ios、android点击(click)事件不兼容解决方法
    css中单位px和em,rem的区别
  • 原文地址:https://www.cnblogs.com/weichenji/p/6103565.html
Copyright © 2011-2022 走看看