当前位置: 首页 > wzjs >正文

手机网站开发有前途南宁网站制作最新招聘信息

手机网站开发有前途,南宁网站制作最新招聘信息,wordpress分类目录文章排序,怎样把自己做的网站放到网上三三想成为安卓糕手 一:自定义勾选控件 重在思路:怎么去用已经学习过的知识解决现有的问题。这才是学到了编程的精髓所在怎么去实现用户是否勾选了协议呢?这里有一个人机交互的动作。 1:创建一个新的类作为控件类 创建新项目 shif…

在这里插入图片描述
三三想成为安卓糕手

一:自定义勾选控件

重在思路:怎么去用已经学习过的知识解决现有的问题。这才是学到了编程的精髓所在

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

怎么去实现用户是否勾选了协议呢?这里有一个人机交互的动作。

1:创建一个新的类作为控件类

创建新项目

shift+f6修改名称,其它所有有引用的地方都修改过来了

我们自己创建一个类去实现组合控件drawable和text文本的组合(悟了悟了,所以之前DrawableLeft是在这里使用到了,妙啊妙啊!)

public class MyCheckView extends TextView {}public class MyCheckView extends androidx.appcompat.widget.AppCompatTextView {}
TextViewandroidx.appcompat.widget.AppCompatTextView 
//后者会有一些更加高级的功能(前方的路以后再来探索吧)

2:自定义类包名要完整

xmlns:android="http://schemas.android.com/apk/res/android"
//这是Android系统命名空间声明
//意思:“接下来用到 android: 开头的属性(比如 android:id、android:layout_width )
//都到这个官方命名空间里找定义” 。

有了这行声明,XML 里用系统内置控件(如 TextViewButton )时,默认就能识别 android.widget 这个包路径 ,所以可以直接写 <TextView .../> ,不用写全 android.widget.TextView

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

反之自定义控件,因为系统不能识别出来,所以我们在写路径时:完整包名 + 类名

	<TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"/><com.xlong.myapplication.MyCheckViewandroid:layout_width="match_parent"android:layout_height="wrap_content" />

实现效果如下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3:代码总结

这就是我们自定义了一个可勾选check类

(1)MyCheckView

public class MyCheckView extends androidx.appcompat.widget.AppCompatTextView {private final Drawable drawableSelect;private final Drawable drawableUnSelect;private boolean check;public MyCheckView(@NonNull Context context, @Nullable AttributeSet attrs) {super(context, attrs);
//        setText();
//        setTextColor();
//        setTextSize();
//        setCompoundDrawablesRelativeWithIntrinsicBounds();drawableSelect = ContextCompat.getDrawable(context, R.mipmap.icon_select);drawableUnSelect = ContextCompat.getDrawable(context,R.mipmap.icon_unselect);setCheck(false);}public boolean isCheck(){return check;}public void setCheck(boolean check){this.check = check;if(check){setCompoundDrawablesRelativeWithIntrinsicBounds(drawableSelect,null,null,null);}else{setCompoundDrawablesRelativeWithIntrinsicBounds(drawableUnSelect,null,null,null);}}
}

(2)CheckBoxActivity类进行使用

		MyCheckView checkView = findViewById(R.id.check_view);checkView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {boolean isCheck = checkView.isCheck();checkView.setCheck(!isCheck);}});

(3)对应的activity界面xml设置

<com.xlong.myapplication.MyCheckViewandroid:id="@+id/check_view"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="请勾选我" />

二:Android自带勾选控件

在上一个大标题下,我们使用自定义控件的方式,完成了协议勾选功能;

在安卓当中,已经为我们提供了相关成熟的控件和封装好的方法,兄弟们冲!!!干它丫的

1:源码分析与对比

    <CheckBoxandroid:layout_width="wrap_content"android:layout_height="wrap_content"/>

继承关系如下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们重点分析CompoundButton这个类,里面也有一个类似check(布尔类型)勾选的成员变量;

这里我们与自定义的check控件进行一个对比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

勾选了怎么做,没有勾选怎么做

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注:作为开发者优选选用系统提供给我们的组件,实在没有在选择自己去创建组件

2:Xml定义勾选框

(1)定义CheckBox

    <CheckBoxandroid:id="@+id/cb_agreement"android:layout_width="wrap_content"android:layout_height="wrap_content"android:checked="false"android:text="勾选,表示同意《用户协议》"android:textColor="@color/my_blue"android:textSize="16sp" />

CheckBox属于一种 UI 组件,呈现为一个小方框,用户点击之后,方框内会出现对勾(✔)

(2)基本属性分析

  • android:id:此属性用于给 CheckBox 设定唯一标识符。
  • android:text:用于设置 CheckBox 旁边显示的文本内容。
  • android:checked:可将 CheckBox 初始状态设为选中(true)或者未选中(false);一般设置为false
  • android:onClick:能绑定布局文件或者 Activity 里的点击事件处理方法。(这里没有体现,前方的路以后再来探索吧)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(3)定义Button

<Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/btn_login"android:text="登录"/>

3:Java控制CheckBox

(1)代码分析

这里可以与自定义的CheckBox(Java操作)进行对比

((20250704095817-7tynnd6 ‘MyCheckView checkView = findViewById(R.id.check_view); checkView.setOnClickListener(new V…’))

CheckBox cbArgreement = findViewById(R.id.cb_agreement);findViewById(R.id.btn_login).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {boolean checked = cbArgreement.isChecked();if(checked){//这句代码是在是太ex了兄弟,我完全是蒙蒙的状态啊xd,窝里哇瓦力哇一袋米扛几楼//判断勾选了协议,点击登录按钮,进行页面跳转startActivity(new Intent(CheckBoxActivity.this,SecondActivity.class));}else{//准备弹窗提示Toast.makeText(CheckBoxActivity.this, "请勾选协议!", Toast.LENGTH_SHORT).show();}}});

效果展示

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(2)Toast弹窗提示

Toast.makeText(CheckBoxActivity.this, "请勾选协议!", Toast.LENGTH_SHORT).show();

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

三个参数:上下文(一般是当前类),弹窗内容,弹窗时间(有长有短)

show方法展示

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

三:对勾选框状态实时监听

1:类比按钮的监听器

如果需要显示,你现在已经勾选,或者你现在没有勾选,就需要我们实时的对框的状态进行监听

类比思想:以Listener结尾的接口,作用一般都是做某个动作的监听

//按钮Button loginButton = findViewById(R.id.btn_login);loginButton.setOnClickListener(new View.OnClickListener() {setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//这里按钮的监听器的相关代码}});
//CheckBox复选框CheckBox cbArgreement = findViewById(R.id.cb_agreement);cbArgreement.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {}});

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2:三种监听方式

        //对勾选框进行操作CheckBox cbArgreement = findViewById(R.id.cb_agreement);/*** 实时监听勾选状态*/cbArgreement.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {//方式一boolean checked = cbArgreement.isChecked();                //方式二CheckBox buttonView1 = (CheckBox) buttonView;boolean checked = buttonView1.isChecked();//方式三if(isChecked){Toast.makeText(CheckBoxActivity.this,"感谢您勾选协议",Toast.LENGTH_SHORT).show();}else{Toast.makeText(CheckBoxActivity.this,"请勾选协议",Toast.LENGTH_SHORT).show();}}});

第一种:直接用方法外部定义的CheckBox获取状态,并进行判断

第二种:使用形参buttonView类型为CompoundButton

CheckBox继承CompoundButton继承Button,所以使用向下转型,在调用isChecked()方法获取,check状态

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第三种:使用形参isChecked直接进行判断即可

3:实现效果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


文章转载自:

http://69cbbdRJ.qphcq.cn
http://knYiRlHx.qphcq.cn
http://BnL78GJK.qphcq.cn
http://OctSv5rV.qphcq.cn
http://3QoseVTd.qphcq.cn
http://Uhd5XePG.qphcq.cn
http://LzvK19r2.qphcq.cn
http://RVEMG0GY.qphcq.cn
http://xcIbrM5U.qphcq.cn
http://vrBmpNJV.qphcq.cn
http://uEuuOnqF.qphcq.cn
http://oP3i82Dk.qphcq.cn
http://7oXl6ITI.qphcq.cn
http://pzp6IEK2.qphcq.cn
http://khiZlFXf.qphcq.cn
http://f7pN7Mp3.qphcq.cn
http://5YVSE1Ij.qphcq.cn
http://bw57qx0Y.qphcq.cn
http://i4GQvako.qphcq.cn
http://SrU36P7H.qphcq.cn
http://U5zlD5HB.qphcq.cn
http://SlyxR5IT.qphcq.cn
http://B6dQcvRX.qphcq.cn
http://v0GUNRiZ.qphcq.cn
http://iViEk5Hh.qphcq.cn
http://2OCIFYku.qphcq.cn
http://SqGvzB40.qphcq.cn
http://TFL8Q25K.qphcq.cn
http://P7phXbu1.qphcq.cn
http://3KmABM9Z.qphcq.cn
http://www.dtcms.com/wzjs/780291.html

相关文章:

  • 阿里备案成功后怎么做网站北京企业网站建设费用
  • 办公用品网站建设山东食品行业网站模板
  • 网站开发实训设计报告潍坊网站建设SEO优化
  • 网站建设完工报告兴化住房和城乡建设局网站
  • 龙元建设陕西公司网站网站建设运营协议
  • 网站开发的形式有( )怎么样查看网站开发语言
  • 苏州网站建设 公司在线制作印章diy印章
  • 合肥需要做网站的公司企业网站名是什么意思
  • 阿里网站建设方案书dw做网站时怎么改为绝对路径
  • 网站开发国外研究状况校园网站建设整改建议
  • 天津网站设计 河西网站开发建设成本
  • 哪些网站discuz做的设置网站建设方案
  • 网站制作哪家专业扬中网站建设推广
  • 湖南城乡住房建设厅网站山西公司注册网上核名
  • 备案中网站名称app界面设计风格有哪些
  • 站群是什么意思什么是网络营销的出发点
  • 重点实验室网站建设的研究现状阿里巴巴电脑版
  • 商洛网站设计机票搜索量
  • 浙江省建设工程质量安全协会网站杨邦胜酒店设计公司官网
  • 百度网站的设计风格电商网站开发面试题
  • 东营网站建设app开发wordpress提速
  • 虚拟云主机wordpressseo怎么发布外链
  • 网站首页没排名但内页有排名在百度上做个网站需要多少钱
  • 买空间去哪个网站网站建设基本范例
  • 有域名了怎么做网站沈阳专业网站制作
  • 设计师网站使用不了昆明网站建设培训
  • 中国知名设计网站《网站建设》期末考试
  • 58同城网站建设大连网络运营
  • 网站做新闻外链有作用吗wordpress pagelines
  • 网站域名被注册WordPress主题在线汉化插件