登陆界面总结

进行打包的原因:apk文件就是一个包,打包就是要生成apk文件,有了apk别人才能安装使用。打包分debug版和release包,通常所说的打包指生成release版的apk,release版的apk会比debug版的小,release版的还会进行混淆和用自己的keystore签名,以防止别人反编译后重新打包替换你的应用。简单点说就是给你的apk发身份证,上户口,防止和你长的一样的人,假冒你。这里的apk身份证就是我们的“.jks”文件。所以这个jks文件很重要。
如果同一代码,生成两个jks文件打包,那就代表的是两个软件。


没有".jks"文件的打包:Build--->Generate Signed Bundle or APK--->选中APK--->Create New……--->填写信息--->Build Type选中release

有".jks"文件的打包:Build--->Generate Signed Bundle or APK--->Choose existing……--->选中之前设置过的文件夹

进行界面转换的实现:利用Intent实现。Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。

intent有两种类型:explicit(显式)的和implict(隐式)。

explicit(显式)相关代码如下:

 其中SecondeActivity为你想要转换到的界面。而SecondActivity代码中可以加入自己想要加入的需要实现的功能,也可以什么都不用加。

不需要加入多余的功能:

 加入了想实现的功能:

implict(隐式):

Intent intent=new Intent();
intent.setAction("cn.itcast.start_activity");
startActivity(intent);

其中setAction中的cn.itcast.start_activity为AndroidMainfeist.xml文件中对要打开的Activity的action的name,使用隐式必须在AndroidMainfeist.xml文件中编写对应activity的intent-filter

 <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".SecondActivity" />
        <activity android:name=".ThirdActivity">
            <intent-filter>
                <action android:name="cn.itcast.start_activity" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
 //Second为显示调用无需写intent-filter
 //Third为隐式调用要编写intent-filter

 

 选中复选框事件的实现:利用复选框CheckBox实现。

CheckBox除了从Button继承而来的属性外,没有自己的属性,但从CompoundButton继承了一个属性android:checked用于表示是否选中。可以把多个 CheckBox 放在一起实现同时选中多项,但是,记住,它们之间没有任何关系,一个的选中并不会影响另一个选中或者不选中。

android:checked=""     用于表示未点击情况下是否选中复选框,若未设置则默认初始状态下未选中复选框。

android:button=""     可用于设置自定义的选中按钮样式。其中引号内为你所想要设置的按钮的样式图片。

isChecked():用于判断自身是否选中。

setChecked(boolean checked):设置自身是否选中状态。

public void onCheckedChanged(CompoundButton buttonView,boolean  isChecked):

OnCheckedChangeListener:选中状态改变监听器,当自身选中状态变化时会触发这个事件。

由于复选框可以选中多项,所有为了确定用户是否选择了某一项,还需要为每一个选项添加setOnCheckedChangeListener事件监听

checkbox.OnCheckedChangedListener接口可用于对CheckBox的状态进行监听当CheckBox的状态在未被选中和被选中之间变化时,该接口的onCheckedChanged()方法会被系统调用CheckBox通过setOnCheckedChangeListener()方法将该接口对象设置为自己的监听器。

如果要获得选中的CheckBox,有两种方式:

  1. 为每个CheckBox添加事件:setOnCheckedChangeListener
  2. 弄一个按钮,在点击后,对每个 CheckBox 进行判断isChecked()

相关代码如下:

 密码的显示和隐藏事件的实现:

setTransformationMethod是TextView的一个方法,EditText继承于TextView自然可以使用

这个方法是用来设置其中text的转换显示接收的参数是TransformationMethod接口。

几个常用属性:HideReturnsTransformationMethod  :隐藏回车

SingleLineTransformationMethod  :不能用换行回车

PasswordTransformationMethod  :密码类型

ReplacementTransformationMethod  :抽象类,前面两个都是继承于这个抽象类,很明显就是替换,我们可以自己去继承这个类实现自己的TransformationMethod

显示为明文:

editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance())

显示为密文:

editText.setTransformationMethod(PasswordTransformationMethod.getInstance())

相关代码如下:

无焦点提示实现:

Toast.makeText(Context context,CharSequence text,int duration)

参数一(context):环境上下文

参数二(text):要提示的文字

参数三:提示时间为多久(Toast.LENGTH_SHORT提示时间短,Toast.LENGTH_LONG提示时间长)

注:只有上述是不能展示出来的,还需要调用show()方法

即:Toast.makeText(Context context,CharSequence text,int duration).show();

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值