作者:啊迎春的-爱 | 来源:互联网 | 2023-09-06 21:15
文章目录
- 参考书籍:第一行代码:Android(第二版)(郭霖):第三章
- 一、常用控件使用方法
- 1、初学暂时使用的布局
- 2、TextView
- 2、Button
- 3、EditText
- 4、小案例:EditText和Button结合使用
- 5、ImageView
- 6、ProgressBar
- 7、AlertDialog
- 8、ProgressDialog
参考书籍:第一行代码:Android(第二版)(郭霖):第三章
一、常用控件使用方法
1、初学暂时使用的布局
<LinearLayout xmlns:android&#61;"http://schemas.android.com/apk/res/android"android:orientation&#61;"vertical"android:layout_width&#61;"match_parent"android:layout_height&#61;"match_parent">
LinearLayout>
2、TextView
TextView可以说是Android中最简单的一个控件&#xff0c;它主要用于在界面上显示一段文本信息&#xff0c;比如第一章中的HelloWorld&#xff0c;更多的使用方法如下
<TextViewandroid:id&#61;"&#64;&#43;id/text_view"android:layout_width&#61;"match_parent"android:layout_height&#61;"100dp"android:gravity&#61;"center"android:text&#61;"HelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorld"android:background&#61;"#BBC8C3"android:textStyle&#61;"italic"android:textSize&#61;"24sp"android:textColor&#61;"#229000FF"android:shadowColor&#61;"&#64;color/purple_700"android:shadowDx&#61;"15.0"android:shadowDy&#61;"15.0"android:shadowRadius&#61;"10.0"android:singleLine&#61;"true"android:focusable&#61;"true"android:focusableInTouchMode&#61;"true"android:ellipsize&#61;"marquee"android:marqueeRepeatLimit&#61;"marquee_forever"/>
2、Button
Button是程序用于用户进行交互的一个重要控件
<Buttonandroid:id&#61;"&#64;&#43;id/button1"android:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:text&#61;"Button"android:textAllCaps&#61;"false"/>
3、EditText
是程序用于和用户进行交互的另一个重要控件&#xff0c;它允许用户在控件里输入和编辑内容&#xff0c;并可以在程序中对这些内容进行处理
<EditTextandroid:id&#61;"&#64;&#43;id/edit_text"android:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:hint&#61;"提示文本"android:maxLines&#61;"2"/>
4、小案例&#xff1a;EditText和Button结合使用
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private EditText editText;&#64;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button&#61;(Button) findViewById(R.id.button1);editText&#61;(EditText) findViewById(R.id.edit_text);button.setOnClickListener(new View.OnClickListener() {&#64;Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button1:String inputText&#61;editText.getText().toString();Toast.makeText(MainActivity.this,inputText,Toast.LENGTH_SHORT).show();break;default:break;}}});}
}
运行结果&#xff1a;
5、ImageView
ImageView是用于在界面上展示图片的一个控件&#xff0c;它可以让我们的程序界面变得更加丰富多彩&#xff0c;这个控件需要提前准备好一些图片&#xff0c;图片通常存放在以“drawable”开头的目录下&#xff0c;目前项目中有一个空的drawable目录&#xff0c;但是这个目录没有指定分辨率&#xff0c;所以一般不使用它来放置图片&#xff0c;这里在res目录下新建一个drawable-xhdpi目录&#xff0c;然后将准备好的两张图片img1.png和img2.png复制到该目录中。
<ImageViewandroid:id&#61;"&#64;&#43;id/image_view"android:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:src&#61;"&#64;drawable/img1" />
6、ProgressBar
用于在界面上显示一个进度条&#xff0c;表明程序正在加载一些数据&#xff0c;运行之后会看到屏幕中有一个圆形的进度条正在旋转
<ProgressBarandroid:id&#61;"&#64;&#43;id/progress"android:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:visibility&#61;"visible"style&#61;"&#64;style/Widget.AppCompat.ProgressBar.Horizontal"android:max&#61;"100"/>
progressBar&#61;(ProgressBar)findViewById(R.id.progress);button.setOnClickListener(new View.OnClickListener() {&#64;Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button1:String inputText&#61;editText.getText().toString();//消息提示Toast.makeText(MainActivity.this,inputText,Toast.LENGTH_SHORT).show();//通过按钮监控加载进度
// if(progressBar.getVisibility()&#61;&#61;View.GONE){
// progressBar.setVisibility(View.VISIBLE);
// }else{
// progressBar.setVisibility(View.GONE);
// }//动态修改水平进度条数据,每点击一次按钮进度条就加10int projress&#61;progressBar.getProgress();projress&#61;projress&#43;10;progressBar.setProgress(projress);break;default:break;}}
});
7、AlertDialog
可以在当前的界面弹出一个对话框&#xff0c;这个对话框是置顶于所以界面元素之上的&#xff0c;能够屏蔽掉其他控件的交互能力&#xff0c;因此AlertDialog一般都是用于提示一些非常重要的内容或者警告信息&#xff0c;例如防止用户误删重要内容&#xff0c;在删除前弹出一个确认对话框
&#64;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); Button button&#61;(Button) findViewById(R.id.button1);button.setOnClickListener(new View.OnClickListener() {&#64;Overridepublic void onClick(View view) {
switch(view.getId()){case R.id.button1:AlertDialog.Builder dialog&#61;new AlertDialog.Builder(MainActivity.this);dialog.setTitle("This is a dialog");dialog.setMessage("Something important.");dialog.setCancelable(false);dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {&#64;Overridepublic void onClick(DialogInterface dialogInterface, int i) {}});dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {&#64;Overridepublic void onClick(DialogInterface dialogInterface, int i) {}});dialog.show();break;default:break;}}});}
}
运行结果&#xff1a;
8、ProgressDialog
和AlertDialog有点类似&#xff0c;都可以在界面上弹出一个对话框&#xff0c;都能够屏蔽掉其他控件的交互能力。不同的是&#xff0c;ProgressDialog会在对话框中显示一个进度条&#xff0c;一般用于标识当前操作比较耗时&#xff0c;让用户耐心等待。
&#64;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button&#61;(Button) findViewById(R.id.button1);editText&#61;(EditText) findViewById(R.id.edit_text);progressBar&#61;(ProgressBar)findViewById(R.id.progress);button.setOnClickListener(new View.OnClickListener() {&#64;Overridepublic void onClick(View view) {switch(view.getId()){case R.id.button1:ProgressDialog progressDialog&#61;new ProgressDialog(MainActivity.this);progressDialog.setTitle("This is ProgressDialog");progressDialog.setMessage("Loading......");progressDialog.setCancelable(true);progressDialog.show();break;default:break;}}});}
运行结果&#xff1a;