2021-07-11

基本UI组件

文本框

文本框应用展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iHUeAyM8-1626011051027)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709155806582.png)]

补充操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bidSR5rs-1626011051038)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709160154785.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dR629BLN-1626011051049)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709161204626.png)]

编辑框

应用展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WME5YHgm-1626011051068)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709161411571.png)]

补充操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sm9F4prZ-1626011051085)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709162053291.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JYtxB9hb-1626011051134)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709163550338.png)]

在编辑框内绘制图像属性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HkYr0gHd-1626011051141)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709162345232.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oGquz4fK-1626011051144)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709162355601.png)]

实例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xaRNW7Fl-1626011051150)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709170559610.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jBHdHS9h-1626011051154)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709171445168.png)]

<?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">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:lines="6"
        android:layout_margin="10dp"
        android:padding="5dp"
        android:gravity="top"
        android:background="#D6D6D6"
        android:textSize="20dp"
        android:hint="说点什么吧..."
        android:inputType="textMultiLine"/>      <!--多行-->
    <TextView
        android:drawableLeft="@mipmap/add"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:gravity="center_vertical"
        android:textSize="20dp"
        android:layout_margin="10dp"
        android:padding="5dp"
        android:drawablePadding="8dp"
        android:text="添加图片"
        android:background="#D6D6D6"
        />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="221dp"
        android:layout_margin="10dp"
        android:scaleType="fitXY"
        android:src="@mipmap/img02" />
</LinearLayout>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yctzJTCv-1626011051156)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709171913839.png)]

普通按钮

应用展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LMRrmJOz-1626011051157)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709172234296.png)]

为普通按钮添加事件监听器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rrTJNHDw-1626011051159)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709173652938.png)]

通过匿名内部类作为单击事件监听器

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="button1" />

</RelativeLayout>
package com.example.common_button;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button1);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this,"单击了按钮1",Toast.LENGTH_LONG).show();
            }
        });
    }
}

通过onClick属性实现单击事件监听器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gYHEwAK7-1626011051161)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709175443249.png)]

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="button1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="button2"
        android:onClick="myClick"/>

</RelativeLayout>
package com.example.common_button;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button1);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this,"单击了按钮1",Toast.LENGTH_LONG).show();
            }
        });
    }

    public void myClick(View view){
        Toast.makeText(MainActivity.this,"单击了按钮2",Toast.LENGTH_LONG).show();
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rOYRa3Pn-1626011051165)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709180521515.png)]

实例

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="button1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="button2"
        android:onClick="myClick"/>

</RelativeLayout>
package com.example.common_button;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
        setContentView(R.layout.main_1);
        Button button = findViewById(R.id.button1);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                Toast.makeText(MainActivity.this,"单击了按钮1",Toast.LENGTH_LONG).show();
                Toast.makeText(MainActivity.this,"登录...",Toast.LENGTH_LONG).show();
            }
        });
    }

    public void myClick(View view){
        Toast.makeText(MainActivity.this,"单击了按钮2",Toast.LENGTH_LONG).show();
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zuyojniq-1626011051167)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210709182425397.png)]

图片按钮

图片按钮展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dDU2Eeod-1626011051168)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710083255454.png)]

ImageButton和Button的区别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-atlhpHCQ-1626011051169)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710083429975.png)]

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".MainActivity">

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/player"
        android:background="#0000"      
        /> <!-- #0000是完全透明的颜色,可以取消图片的背景-->

</RelativeLayout>

效果图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pkMMTfxy-1626011051170)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710084701714.png)]

单选按钮

单选按钮展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tPEX7pRG-1626011051172)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710091524804.png)]

单选实现

<?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">    <RadioGroup        android:id="@+id/radio_group"        android:layout_width="wrap_content"        android:layout_height="wrap_content">    <RadioButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text=""        android:textSize="20dp"        android:checked="true"        />                              <!--checked默认选择男-->        <RadioButton            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text=""            android:textSize="20dp"            />        <RadioButton            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="保密"            android:textSize="20dp"            />    </RadioGroup></LinearLayout>
package com.example.radiobutton;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radio_group);        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(RadioGroup group, int checkedId) {                RadioButton radioButton = (RadioButton) findViewById(checkedId);                Toast.makeText(MainActivity.this,"您选择了"+radioButton.getText(),Toast.LENGTH_LONG).show();            }        });    }}

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WXQizZ6E-1626011051173)(D:\study\安卓\笔记\image-20210710093414668.png)]

单选补充

<?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">    <RadioGroup        android:id="@+id/radio_group"        android:layout_width="wrap_content"        android:layout_height="wrap_content">    <RadioButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text=""        android:textSize="20dp"        />                              <!--checked默认选择男-->        <RadioButton            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text=""            android:textSize="20dp"            />        <RadioButton            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="保密"            android:textSize="20dp"            />    </RadioGroup>    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="提交"        /></LinearLayout>
package com.example.radiobutton;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radio_group);        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(RadioGroup group, int checkedId) {                RadioButton radioButton = (RadioButton) findViewById(checkedId);                Toast.makeText(MainActivity.this,"您选择了"+radioButton.getText(),Toast.LENGTH_LONG).show();            }        });        Button button = (Button)findViewById(R.id.button1);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                for(int i=0;i<radioGroup.getChildCount();i++){       //getChildCount获取RadioButton的个数                    RadioButton b = (RadioButton)radioGroup.getChildAt(i); //getChildAt(i)以每个RadioButton的位置获取对象                    if(b.isChecked()){                        Toast.makeText(MainActivity.this,b.getText(),Toast.LENGTH_LONG).show();                        break;                    }                }            }        });    }}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tFIv5HpQ-1626011051175)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710094654064.png)]

实例

<?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">    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="10dp"        android:text="  14.如图7所示,动圈式话筒的膜片与线圈固定在一起,线圈套在磁铁上。当我们对着话筒讲话时,声音使膜片振动,膜片带动线圈也一起振动,于是线圈中产生了随声音变化的电流。则下列电器的原理与动圈式话筒的原理相同的是"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />    <RadioGroup        android:id="@+id/RadioGroup1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        >        <RadioButton            android:id="@+id/RadioButton1"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:text="电动机"            />        <RadioButton            android:id="@+id/RadioButton2"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:text="发电机"            />        <RadioButton            android:id="@+id/RadioButton3"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:text="电磁铁"            />        <RadioButton            android:id="@+id/RadioButton4"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:text="电铃"            />    </RadioGroup>    <Button        android:id="@+id/Button1"        android:layout_margin="50dp"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="提交"        /></LinearLayout>
package com.example.radiobutton_event;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        RadioGroup radioGroup = (RadioGroup) findViewById(R.id.RadioGroup1);        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(RadioGroup group, int checkedId) {                RadioButton radioButton = (RadioButton)findViewById(checkedId);                //Toast.makeText(MainActivity.this,"您点击了"+radioButton.getText(),Toast.LENGTH_LONG).show();            }        });        Button button = (Button)findViewById(R.id.Button1);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                for(int i=0;i<radioGroup.getChildCount();i++){                    RadioButton b = (RadioButton)radioGroup.getChildAt(i);                    if(b.isChecked()){                        Toast.makeText(MainActivity.this,b.getText(),Toast.LENGTH_LONG).show();                        break;                    }                }            }        });    }}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ItsmMPWP-1626011051176)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710100705497.png)]

实例改进

package com.example.radiobutton_event;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        RadioGroup radioGroup = (RadioGroup) findViewById(R.id.RadioGroup1);        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(RadioGroup group, int checkedId) {                RadioButton radioButton = (RadioButton)findViewById(checkedId);                //Toast.makeText(MainActivity.this,"您点击了"+radioButton.getText(),Toast.LENGTH_LONG).show();            }        });        Button button = (Button)findViewById(R.id.Button1);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                for(int i=0;i<radioGroup.getChildCount();i++){                    RadioButton b = (RadioButton)radioGroup.getChildAt(i);                    if(b.isChecked()){                        if(b.getText().equals("电磁铁")){                            Toast.makeText(MainActivity.this,"回答正确",Toast.LENGTH_LONG).show();                        }else{                            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);                            builder.setMessage("回答错误请看解析");                            builder.setPositiveButton("确定",null).show();   //警告窗的确定按钮                        }                        break;                    }                }            }        });    }}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JSabCWzh-1626011051179)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710102858086.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VBoi713P-1626011051181)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710102905303.png)]

复选框

复选框应用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CPZnYiL4-1626011051183)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710103035318.png)]

<?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">    <CheckBox        android:id="@+id/Checkbox1"        android:layout_margin="10dp"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:checked="true"        android:text="体育"        />    <CheckBox        android:id="@+id/Checkbox2"        android:layout_margin="10dp"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="音乐"        />    <CheckBox        android:id="@+id/Checkbox3"        android:layout_margin="10dp"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="美术"        /></LinearLayout>
package com.example.checkbox;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.CheckBox;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        CheckBox checkBox1 = (CheckBox)findViewById(R.id.Checkbox1);        CheckBox checkBox2 = (CheckBox)findViewById(R.id.Checkbox2);        CheckBox checkBox3 = (CheckBox)findViewById(R.id.Checkbox3);        checkBox1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(MainActivity.this,checkBox1.getText(),Toast.LENGTH_LONG).show();            }        });        checkBox2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(MainActivity.this,checkBox2.getText(),Toast.LENGTH_LONG).show();            }        });        checkBox3.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(MainActivity.this,checkBox3.getText(),Toast.LENGTH_LONG).show();            }        });    }}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mNHxLr9T-1626011051184)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710104617033.png)]

实例改进

<?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">    <ImageView        android:layout_gravity="top"        android:layout_width="match_parent"        android:layout_height="200dp"        android:src="@mipmap/authorize"        />    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="登陆后该应用将获得以下权限"        android:textSize="20dp"        android:layout_marginLeft="20dp"        />    <CheckBox        android:id="@+id/checkbox1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="获得你的公开信息(昵称、头像等)"        android:textSize="15dp"        android:layout_marginLeft="23dp"        />    <CheckBox        android:id="@+id/checkbox2"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="寻找与你共同使用该应用的好友"        android:textSize="15dp"        android:layout_marginLeft="23dp"        />    <CheckBox        android:id="@+id/checkbox3"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="帮助你通过该应用向好友发送信息"        android:textSize="15dp"        android:layout_marginLeft="23dp"        />    <Button        android:id="@+id/sin_in"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="确认登录"        android:textSize="20dp"        android:layout_marginLeft="20dp"        android:layout_marginRight="20dp"        android:background="@color/green_01"        />    <Button        android:id="@+id/sin_out"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="取消"        android:textSize="20dp"        android:layout_marginLeft="20dp"        android:layout_marginRight="20dp"        android:layout_marginTop="20dp"        android:background="#FFFFFF"        /></LinearLayout>
package com.example.check_event;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    String checked = " ";     //利用checked来增加授权的信息    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        CheckBox checkBox1 = (CheckBox)findViewById(R.id.checkbox1);        CheckBox checkBox2 = (CheckBox)findViewById(R.id.checkbox2);        CheckBox checkBox3 = (CheckBox)findViewById(R.id.checkbox3);        checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {                checked += checkBox1.getText().toString();                Toast.makeText(MainActivity.this,checked,Toast.LENGTH_SHORT).show();            }        });        checkBox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {                checked += checkBox2.getText().toString();                Toast.makeText(MainActivity.this,checked,Toast.LENGTH_SHORT).show();            }        });        checkBox3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {                checked += checkBox3.getText().toString();                Toast.makeText(MainActivity.this,checked,Toast.LENGTH_SHORT).show();            }        });        Button button = (Button)findViewById(R.id.sin_in);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(MainActivity.this,"登录...",Toast.LENGTH_SHORT).show();            }        });    }}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CP4fcbjr-1626011051187)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710121237573.png)]

日期选择器

应用展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FFtWuS4l-1626011051189)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710121358157.png)]

<?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"    tools:context=".MainActivity">    <DatePicker        android:id="@+id/Datapicker"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="top"        android:layout_margin="20dp"        android:padding="20dp"        /></LinearLayout>
package com.example.datesticker;import androidx.appcompat.app.AppCompatActivity;import android.app.Activity;import android.os.Bundle;import android.widget.DatePicker;import android.widget.Toast;import java.util.Calendar;import java.util.Date;public class MainActivity extends Activity {    int year,month,day;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        DatePicker datePicker = (DatePicker) findViewById(R.id.Datapicker);        Calendar calendar = Calendar.getInstance();  //实例化日历        year = calendar.get(Calendar.YEAR);        month = calendar.get(Calendar.MONTH);        day = calendar.get(Calendar.DAY_OF_MONTH);        datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() {  //用本地的时间初始化日期选择器            @Override            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {                MainActivity.this.year = year;                MainActivity.this.month = monthOfYear;                MainActivity.this.day = dayOfMonth;   //选择的是日期选择器里面的日期                show(year,monthOfYear,dayOfMonth);    //显示的是日期选择器里面的日期            }        });    }    private void show(int year,int month,int day){        String str = year+"年"+(month + 1)+"月"+day+"日";        Toast.makeText(MainActivity.this,str,Toast.LENGTH_SHORT).show();    }}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eUxzUCSd-1626011051190)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710134044193.png)]

时间选择器

应用展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZOVu9iVa-1626011051191)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710134225806.png)]

<?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">    <TimePicker        android:id="@+id/Timepeicker"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        /></LinearLayout>
package com.example.timesticker;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.TimePicker;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        TimePicker timePicker = (TimePicker) findViewById(R.id.Timepeicker);        timePicker.setIs24HourView(true);  //设置为24小时格式        timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {            @Override            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {                String str = hourOfDay +"时"+ minute+"分";                Toast.makeText(MainActivity.this,str,Toast.LENGTH_SHORT).show();            }        });    }}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NOwX3N3g-1626011051192)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710135122188.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0jXlzYUY-1626011051192)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710135205829.png)]

计时器

应用展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PQg6KaSw-1626011051195)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710135251411.png)]

计时器的方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-07kIK6Nb-1626011051196)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710135540052.png)]

<?xml version="1.0" encoding="utf-8"?><RelativeLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity">    <Chronometer        android:id="@+id/chronometer_"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:format="%s"        />  </RelativeLayout>
package com.example.chronometer;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.os.SystemClock;import android.widget.Chronometer;import java.sql.Clob;import java.time.Clock;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Chronometer chronometer = (Chronometer) findViewById(R.id.chronometer_);        chronometer.setBase(SystemClock.elapsedRealtime());            //设置计时器开始时间        chronometer.setFormat("%s");        chronometer.start();        chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {            @Override            public void onChronometerTick(Chronometer chronometer) {                if(SystemClock.elapsedRealtime()-chronometer.getBase()>=60000){                    chronometer.stop();                }            }        });    }}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6mAzPry5-1626011051197)(C:\Users\Airex\AppData\Roaming\Typora\typora-user-images\image-20210710141151862.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值