短视频直播系统开发Android中常用控件

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

       });
    }

}

你可能感兴趣的:(技术类)