初学Android---------常用控件的使用方法

虽然Android studio提供了相应的可视化编辑器,允许使用拖放控件的方式来编写布局,并能在视图上直接修改控件的属性,但是这样不能真正的去了解界面的实现原理,所以我们学习用最基本的方式去实现,即编写xml代码,接下来我们了解几种常用控件吧!

TextView

作用:在界面上显示一段文本信息。
id:给当前控件定义了一个唯一标识符。
match parent:让当前控件的大小与父布局的大小一样。
wrap_content:让当前控件的大小刚好包含住里面的内容。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/text_view"              //标识符
        android:layout_width="match_parent"      //宽度
        android:layout_height="wrap_content"     //高度
        android:gravity="center"                 //文字对齐方式
        android:textSize="24sp"                  //文字的大小,sp是单位
        android:textColor="#c444ff"              //文字的颜色
        android:text="This is TextView" />       //指定显示的内容
</LinearLayout>

Button

button是按钮,是程序和用户交互的一个重要控件。它的可配置属性和text view一样。

<Button
    android:id="@+id/button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Button"
    android:textAllCaps="false"//是否对button中的所有英文字母自动进行大小写转换
    /> 

接下来在MainActivity中为button注册一个监听器:

public class MainActivity extends AppCompatActivity {
       @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
            //此处添加逻辑
            }
        });
     }
  }

EditText

作用:它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。

<EditText
    android:id="@+id/edit_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Type something here"   //指定了一段提示性文本
    android:maxLines="2"/>  //指定了最大行数为两行,继续输入时文本向上滚动

可以结合button和EditText完成一些功能,比如点击按钮获取输入的内容,使用toast将内容显示出来。

public class MainActivity extends AppCompatActivity {
    private EditText editText;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button 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:
                   String inputText = editText.getText().toString();
                   Toast.makeText(MainActivity.this,inputText,
                   Toast.LENGTH_SHORT).show();
                  break;
                  default:
                  break;
          }
    }
}

ImageView

作用:在界面上展示图片。
在res目录下新建一个drawable-xhdpi文件夹,放入两张图片img_1.png和img_2.png。

<ImageView
    android:id="@+id/image_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/img_1"/>    //指定一张图片

我们设置通过点击按钮,更改图片

public class MainActivity extends AppCompatActivity {
    private EditText editText;
    private ImageView imageView;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button) findViewById(R.id.button);
        editText = (EditText) findViewById(R.id.edit_text);
        imageView = (ImageView) findViewById(R.id.image_view);
        button.setOnClickListener(this);
        }
        @Override
        public void onClick(View v) {
                switch (v.getId()){
                   case R.id.button:
                   imageView.setImageResource(R.drawable.img_2);
                   break;
                  default:
                  break;
                 }
    }
}

ProgressBar

作用:在界面上显示一个进度条,表示程序正在加载数据。
可以是圆形,也可以指定为水平形式。
所有的Android控件都有一个属性:可见性属性。通过android:visibility进行指定,有三个值:visible(表示控件可见)、invisible(表示控件不可见,相当于变为透明状态)、gone(控件不可见,而且不再占用任何屏幕空间)。
下来通过按钮点击,使进度条消失并重现。

public class MainActivity extends AppCompatActivity {
    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 = (Button) findViewById(R.id.button);
        editText = (EditText) findViewById(R.id.edit_text);
        imageView = (ImageView) findViewById(R.id.image_view);
        progressBar = (ProgressBar) findViewById(R.id.progress_bar);
        button.setOnClickListener(this);
        }
        @Override
        public void onClick(View v) {
                switch (v.getId()){
                   case R.id.button:
                   if(progressBar.getVisibility()==View.GONE){
                      progressBar.setVisibility(View.VISIBLE);
                   }else{
                   progressBar.setVisibility(View.GONE);
                   }
                break;
                  default:
                  break;
                 }
    }
}

AlertDialog

作用:可以在当前界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能屏蔽其他控件的交互能力,所以这个控件用于提示一些非常重要的内容或者警告信息。

public class MainActivity extends AppCompatActivity {
    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 = (Button) findViewById(R.id.button);
        editText = (EditText) findViewById(R.id.edit_text);
        imageView = (ImageView) findViewById(R.id.image_view);
        progressBar = (ProgressBar) findViewById(R.id.progress_bar);
        button.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                switch (v.getId()){
                    case R.id.button:
                       //弹出对话框,重要提示
                        AlertDialog.Builder dialog = 
                        new AlertDialog.Builder(MainActivity.this);
                        //标题
                        dialog.setTitle("This is Dialog");
                        //弹出对话框的内容
                        dialog.setMessage("Something important");
                        //返回键
                        dialog.setCancelable(false);
                        //确定按钮的点击事件
                        dialog.setPositiveButton("OK",
                        new DialogInterface.OnClickListener(){
                            @Override
                            public void onClick(DialogInterface dialog, int which{
                            }
                        });
                        //取消按钮的点击事件
                        dialog.setNegativeButton("Cancel",
                        new DialogInterface.OnClickListener(){
                            @Override
                            public void onClick(DialogInterface dialog, int which{
                            }
                        });
                        //调用show方法将对话框显示出来
                        dialog.show();
                        break;
                  default:
                  break;
                 }
    }
}

ProgressDialog

作用:在对话框内显示进度条,表示耗时操作,让用户耐心等待。
用法也与AlertDialog相似

//弹出对话框,显示进度条
ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("This is ProgressDialog");
progressDialog.setMessage("Loading");
progressDialog.setCancelable(true);
progressDialog.show();

最后显示一下运行结果,
在这里插入图片描述在这里插入图片描述
到这里常用控件就介绍完啦,随着学习的推进,我们会遇到更多的控件的用法,学习就是一个不断积累的过程!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值