0
点赞
收藏
分享

微信扫一扫

Android小课程2——TextView,ScrollView,EditText,Button注册点击事件方法(4),ProgressBar,CheckBox,RadioButton,SeekBar

8052cf60ff5c 2022-04-04 阅读 86

通用属性(一)

在这里插入图片描述

通用属性(二)

在这里插入图片描述

TextView

对长文本进行显示处理android:text=“@string/longtext”
在strings.xml中加入
在这里插入图片描述

<string name="longtext">xjzzjtjxxmzxhdg提交法庭英国广播及客户看过桃园地方的人hgyukgyku</string>

在activity_main.xml中
android:singleLine=“true” —只显示页面第一行没显示完的用省略号表示

<TextView
        android:singleLine="true"
        android:text="@string/longtext"
        android:textSize="30sp"
        android:textColor="#00ff00"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"></TextView>

android:lineSpacingExtra="20sp"设置行间距为20sp(第一行与第二行的距离为20sp)

<TextView
        android:lineSpacingExtra="20sp"
        android:text="@string/longtext"
        android:textSize="30sp"
        android:textColor="#00ff00"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"></TextView>

android:lineSpacingMultiplier=“3” 原第一行在第一行,原第二行在第四行

<TextView
        android:lineSpacingMultiplier="3"
        android:text="@string/longtext"
        android:textSize="30sp"
        android:textColor="#00ff00"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"></TextView>

ScrollView

实现滚轮,但中间只能套一个

<ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"></ScrollView>

EditText

android:inputType=“textPassword” 输入密码不可见
android:inputType=“number” 只能输数字
android:inputType=“numberSigned” 可输入负数
android:inputType=“numberDecimal” 可输小数
android:inputType=“numberDecimal | numberSigned” 可输入负小数

在activity_main.xml中

<EditText
        android:id="@+id/et1"
        android:textColorHint="#ff0000"
        android:maxLength="3"
        android:hint="请输入密码"
        android:inputType="textPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></EditText>

在MainActivity.java中

EditText et = findViewById(R.id.et1);
        et.getText();

Button

android:visibility="gone"不可见状态也不保留位置

<Button
        android:text="按钮"
        android:visibility="gone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></Button>

Button注册点击事件的方法

自定义内部类

在activity_main.xml中

<Button
        android:id="@+id/btn1"
        android:text="点击按钮"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></Button>

在MainActivity.java中

public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Button btn =findViewById(R.id.btn1);
        btn.setOnClickListener(new mybutton());
    }


    class mybutton implements View.OnClickListener{

        @Override
        public void onClick(View view) {
            Log.i("shit","我是按钮点击出来显示的");
        }
    }

效果图:
在这里插入图片描述

匿名内部类

在MainActivity.java中

public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Button btn =findViewById(R.id.btn1);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.i("shit","匿名内部类注册button点击事件");
            }
        });
    }
}

效果图:
在这里插入图片描述

当前Activity去实现事件接口

在MainActivity.java中

public class Main2Activity extends AppCompatActivity implements View.OnClickListener {

    @Override
    public void onClick(View view) {
        Log.i("shit","我是activity去实现button事件接口");

    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Button btn =findViewById(R.id.btn1);
        btn.setOnClickListener(this);
    }
}

效果图:
在这里插入图片描述

在布局文件中添加点击事件属性

在activity_main.xml中

<Button
        android:id="@+id/btn1"
        android:text="点击按钮"
        android:onClick="btnclik"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></Button>

在MainActivity.java中

public class Main2Activity extends AppCompatActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Button btn =findViewById(R.id.btn1);

    }
    public void btnclik(View view){
        Log.i("shit","布局文件中添加点击事件属性");
    }
}

效果图:
在这里插入图片描述
布局文件中添加点击事件属性——两个按钮的小练习
在activity_main.xml中

   <Button
        android:id="@+id/btn1"
        android:text="点击按钮"
        android:onClick="btnclik"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></Button>

    <Button
        android:id="@+id/btn2"
        android:text="点击按钮"
        android:onClick="btnclik"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></Button>

在MainActivity.java中

public class Main2Activity extends AppCompatActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Button btn =findViewById(R.id.btn1);

    }
    public void btnclik(View view){
        switch (view.getId()) {
            case R.id.btn1: {
                Log.i("shit", "button1点击");
                break;
            }
            case R.id.btn2: {
                Log.i("shit", "button2点击");
                break;
            }
        }
    }
}

效果图:
在这里插入图片描述

ProgressBar进度条

小练习——进度条缓慢走到头
在activity_main.xml中

<ProgressBar
    android:id="@+id/pb"
    android:layout_width="200dp"
    android:layout_height="150dp"
    style="?android:attr/progressBarStyleHorizontal"></ProgressBar>

在MainActivity.java中

public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        final ProgressBar pb=findViewById(R.id.pb);
        new Thread(){
            @Override
            public void run() {
                for(int i=0;i<100;i++){
                    pb.setProgress(i);
                    try {
                        Thread.sleep(50);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }.start();
    }
}

注:
在activity_main.xml中
android:progress="50"进度条一半,不走静止状态
android:indeterminate="true"进度条一直走,一直加载中

CheckBox复选控件

在activity_main.xml中

<CheckBox
        android:id="@+id/man"
        android:text="男"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></CheckBox>

在MainActivity.java中
setOnCheckedChangeListener监听状态变化

public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        CheckBox cb1 =findViewById(R.id.man);
        cb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
           @Override
           public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
               Log.i("shit",b+"");
           }
       });
    }
}

效果图:(是否选中“男”)
在这里插入图片描述

RadioButton

RadioGroup中RadioButton

在activity_main.xml中

<RadioGroup
        android:id="@+id/rg"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <RadioButton
            android:id="@+id/man"
            android:text="男"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"></RadioButton>
        <RadioButton
            android:id="@+id/gril"
            android:text="女"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"></RadioButton>
    </RadioGroup>

在MainActivity.java中

public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        RadioGroup rg =findViewById(R.id.rg);
        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                switch (i){
                    case R.id.man:{
                        Log.e("shit","你选择的是男");
                        break;
                    }
                    case R.id.gril:{
                        Log.e("shit","你选择的是女");
                        break;
                    }
                }

            }
        });

效果图:
在这里插入图片描述

SeekBar

在activity_main.xml中

<SeekBar
        android:id="@+id/sb1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></SeekBar>

在MainActivity.java中

 SeekBar sb =findViewById(R.id.sb1);
        sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                Log.i("shit","改变");
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                Log.i("shit","开始");
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                Toast.makeText(Main2Activity.this,seekBar.getProgress()+"",Toast.LENGTH_LONG).show();
                Log.i("shit","停止");
            }
        });

效果图:
模拟手机上是进度条,拖动进度条即可显示
在这里插入图片描述

举报

相关推荐

0 条评论