短视频直播系统开发Android中常用控件
16lz
2022-05-29
Android中常用控件
TextView
<TextView android:id="@+id/textview" android:textSize="30dp" android:textColor="@color/colorAccent" android:text="TextView" android:gravity="center" //用于指定文字在控件中的位置 android:layout_width="match_parent" android:layout_height="wrap_content" />
Button
<Button android:id="@+id/b1" android:text="button" android:textAllCaps="false" android:layout_width="wrap_content" android:layout_height="wrap_content" />
button的点击事件有两种方式(注册监听器)
1:匿名类
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button b1 = findViewById(R.id.b1); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this,"点击按钮",Toast.LENGTH_SHORT).show(); } }); }}
2:实现接口
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ //继承接口 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button b1 = findViewById(R.id.b1); b1.setOnClickListener(this); } @Override public void onClick(View view) { switch(view.getId()){ case R.id.b1:Toast.makeText(MainActivity.this,"点击按钮",Toast.LENGTH_SHORT).show(); break; } }}
EditText
<EditText android:id="@+id/editext" android:hint="This is a EditText" //用于提示信息 android:layout_width="match_parent" android:layout_height="wrap_content" />
可以用getText()方法获取其中的文本内容。
ImageView
<ImageView android:src="@drawable/ic_launcher_background"//用于指定放置哪张图片 android:layout_width="wrap_content" android:layout_height="wrap_content" />
可以用setImageResource()方法更换图片。
ProgressBar
<ProgressBar //默认圆形进度条 android:layout_width="wrap_content" android:layout_height="wrap_content" />
控制进度条:
首先需要知道Android控件的可见属性,可以通过android:visibility进行指定,可选值有三种。
visible:控件可见,在不指定时,默认为此。
invisible:控件不可见,但仍然占据着原来的位置和大小。
gone:控件不但不可见,而且不占据任何的屏幕空间和大小。
我们还可以通过代码来控制控件的可见性,使用的是setVisibility()方法,可传入View.VISIBLE,View.INVISIBLE,View.GONE三种值。
请看如下代码,如果进度条显示将其隐藏起来,如果进度条隐藏就将其显示出来。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <Button android:id="@+id/b1" android:text="改变进度条的显隐性" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ProgressBar android:id="@+id/p1" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>package com.example.fffff;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity { Button b1; ProgressBar p1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); p1 = findViewById(R.id.p1); b1 = findViewById(R.id.b1); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(p1.getVisibility()==View.VISIBLE){ p1.setVisibility(View.GONE); }else{ p1.setVisibility(View.VISIBLE); } } }); }}
接下来我们将圆形进度条改成水平进度条,并动态的更改进度条进度。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <Button android:id="@+id/b1" android:text="增加进度条进度" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/b2" android:text="减少进度条进度" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ProgressBar android:id="@+id/p1" android:max="100" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout>package com.example.fffff;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity { Button b1; Button b2; ProgressBar p1; int progress; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); p1 = findViewById(R.id.p1); b1 = findViewById(R.id.b1); b2 = findViewById(R.id.b2); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { progress = p1.getProgress(); progress = progress+10; p1.setProgress(progress); } }); b2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { progress = p1.getProgress(); progress = progress-10; p1.setProgress(progress); } }); }}
AlertDialog
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <Button android:id="@+id/b1" android:text="显示对话框" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>package com.example.fffff;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.app.AppCompatActivity;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity { Button b1; int progress; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1 = findViewById(R.id.b1); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this); dialog.setTitle("This is a Dialog"); dialog.setMessage("Something important"); dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }); dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }); dialog.show(); } }); }}
ProgressDialog
ProgressDialog和ProgressDialog相似,只是会在对话框中显示一个进度条,一般用于表示操作比较耗时。
package com.example.fffff;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.app.AppCompatActivity;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends AppCompatActivity { Button b1; int progress; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1 = findViewById(R.id.b1); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ProgressDialog progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setTitle("This is a progressdialog"); progressDialog.setMessage("Loading..."); progressDialog.show(); } }); }
}
更多相关文章
- android中TextView嵌套在ScrollView中并自由滚动
- Android大图片加载处理
- android动态布局:用java代码实现LinearLayout以及TextView
- android 状态栏与标题栏一体化
- Android(安卓)NullPointerException at android.text.BoringLayo
- android常用控件
- Android(安卓)调用相册 拍照 实现系统控件缩放 切割图片
- 【Android】以BaseAdapter做适配器的ListView及其性能优化
- Android常见错误处理(三)