【安卓小笔记】开发过程的小功能实现

  • 获取验证码倒计时:
private TextView textview;
 //从60s倒计到1s
private CountDownTimer mCountDownTimer = new CountDownTimer(60 * 1000, 1000) {
        @Override
        public void onTick(long millisUntilFinished) {
            textview.setText(millisUntilFinished / 1000 + "秒");
            textview.setClickable(false);
        }

        @Override
        public void onFinish() {
            textview.setText("重新获取");
            textview.setClickable(true);
        }
    };`
  • 密码设置可见与不可见

inputType = “textPassword”设置输入文本为密码

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_marginEnd="20dp"
        android:layout_marginStart="20dp"
        android:layout_marginTop="4dp">

        <TextView
            style="@style/text_black_16sp"
            android:layout_marginStart="5dp"
            android:layout_marginTop="10dp"
            android:text="密码:" />

        <EditText
            android:id="@+id/pwd_afp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入密码"
            android:inputType="textPassword"
            android:maxLines="1"
            android:paddingStart="80dp"
            android:textSize="14sp"
            android:theme="@style/EditTextUnderLine" />

        <ImageView
            android:id="@+id/show_pwd_afp"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_alignParentEnd="true"
            android:layout_marginEnd="10dp"
            android:layout_marginTop="5dp"
            android:src="@drawable/show_pwd_false" />
    </RelativeLayout>
private ImageView showPwd;
private EditView pwd;
private boolean isShowPwd = false;

showPwd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(!isShowPwd){
                    showPwd.setImageResource(R.drawable.show_pwd_true);
                    pwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
                    isShowPwd = true;
                }else {
                    showPwd1.setImageResource(R.drawable.show_pwd_false);
                    pwd1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
                    isShowPwd1 = false;
                }
            }
        });

用到的EditView的输入类型:
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD:输入对用户可见的密码
InputType.TYPE_CLASS_TEXT :输入类型为普通文本
InputType.TYPE_TEXT_VARIATION_PASSWORD :输入对用户不可见的密码

  • 相册选取图片

    AndroidManifest.xml权限:

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
private ImageView imageview;
private static final int REQUEST_CODE_IMAGE = 100;
imageview.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            //判断是否获取到权限
                    if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
                        != PackageManager.PERMISSION_GRANTED) {
                    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
                } else {
                    //多选限制数量,默认为9
                    ImagePicker.getInstance().setSelectLimit(1);
                    Intent intent = new Intent(this, ImageGridActivity.class);
                    startActivityForResult(intent, REQUEST_CODE_IMAGE);
                }
                }
            }
        });
  /*处理返回图片结果*/
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == ImagePicker.RESULT_CODE_ITEMS&&requestCode == REQUEST_CODE_IMAGE) {
            ArrayList<ImageItem> images = (ArrayList<ImageItem>) data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS);
            //添加图片返回
            if (data != null && REQUEST_CODE_IMAGE == 100) {
                imagePath = images.get(0).path;
                Glide.with(this).load(imagePath).into(imageview);
            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值