安卓开发中的一些实用小技巧
2016-08-03 17:08
260 查看
本人安卓新手,在开发过程中发现一些琐碎的知识点每次翻找起来非常不便,于是记录在此博客中,便于查阅。
1.去除状态栏和标题栏:
可以在JAVA代码中进行操作,但是在xml中进行设置更加便利和直观。在主配置文件AndroidManifest.xml的相应activity中添加这一行属性:
2.TextView实现跑马灯(文字滚动显示)效果:
非常简单,也容易理解,只需在TextView的xml中设置这几个属性:
singleLine就是是否将文字显示成一行。ellipsize是指文字超出组件宽度时的处理方式,这里设置的marquee就是滚动显示。下面两行是获得焦点,有焦点时textview才会滚动起来,在代码中动态操作让它失去焦点会停止滚动。
3.禁止转屏:
在开发时有时activity从竖屏转到横屏时就销毁了,非常烦人,这里设置也是非常简单,在主配置文件AndroidManifest.xml的相应activity中添加这一行属性:
4.根据按钮(或者其他组件)的状态显示不同背景图片:
在drawable下新建一个xml,为组件设置背景图时设置此xml(与设置普通图片相同)
5.双击back键退出activity(也就是第二次时才执行原back方法):
这里我们使用一个boolean值quit来判断用户第几次按键,先在onCreate里将这个quit初始化为false.
重写onBackPressed方法:
第一次按下显示提示消息:再按一次退出,并将quit改为true,第二次按下就进入else了。
这里借助了一个Timer类,这个类可以处理延时任务,我们可以看到,schedule方法有两个参数,TimerTask和一个数2000,TimerTask就是要处理的任务,相关代码写在它的run方法里,2000表示延迟2000毫秒。这一段代码表示2000毫秒后将quit改为false,也就是复位。
第一次写博客,没什么经验,欢迎批评指正。
1.去除状态栏和标题栏:
可以在JAVA代码中进行操作,但是在xml中进行设置更加便利和直观。在主配置文件AndroidManifest.xml的相应activity中添加这一行属性:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"其中NoTitleBar是指没有标题栏,Fullscreen是全屏,也就是去除状态栏(显示手机电量信号等的那一栏)了。
2.TextView实现跑马灯(文字滚动显示)效果:
非常简单,也容易理解,只需在TextView的xml中设置这几个属性:
android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true"
singleLine就是是否将文字显示成一行。ellipsize是指文字超出组件宽度时的处理方式,这里设置的marquee就是滚动显示。下面两行是获得焦点,有焦点时textview才会滚动起来,在代码中动态操作让它失去焦点会停止滚动。
3.禁止转屏:
在开发时有时activity从竖屏转到横屏时就销毁了,非常烦人,这里设置也是非常简单,在主配置文件AndroidManifest.xml的相应activity中添加这一行属性:
android:screenOrientation="portrait"
4.根据按钮(或者其他组件)的状态显示不同背景图片:
在drawable下新建一个xml,为组件设置背景图时设置此xml(与设置普通图片相同)
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/icon"></item> </selector>如例子所示,item有两个属性,drawable就是对应的图片,第一个属性则是状态。state_pressed="true"表示组件被按下,相应的,值为false时就表示没被按下。组件会选择从前往后状态第一个匹配的item里的图片进行显示。
5.双击back键退出activity(也就是第二次时才执行原back方法):
这里我们使用一个boolean值quit来判断用户第几次按键,先在onCreate里将这个quit初始化为false.
重写onBackPressed方法:
@Override public void onBackPressed() { if (quit==false) { Toast.makeText(MainActivity.this,"再按一次退出",Toast.LENGTH_SHORT).show(); quit=true; new Timer(true).schedule(new TimerTask() { @Override public void run() { quit=false; } },2000); }else { super.onBackPressed(); } }
第一次按下显示提示消息:再按一次退出,并将quit改为true,第二次按下就进入else了。
这里借助了一个Timer类,这个类可以处理延时任务,我们可以看到,schedule方法有两个参数,TimerTask和一个数2000,TimerTask就是要处理的任务,相关代码写在它的run方法里,2000表示延迟2000毫秒。这一段代码表示2000毫秒后将quit改为false,也就是复位。
第一次写博客,没什么经验,欢迎批评指正。
相关文章推荐
- iOS开发的一些实用小技巧
- 分享一些iOS开发实用的小技巧
- 自己总结的一些安卓的实用小技巧
- Ace向你推荐一些实用的干货库~开发安卓的好帮手
- Kotlin开发的一些实用小技巧总结
- .NET开发中的一些小技巧
- NET开发中的一些小技巧
- NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- SharePoint的一些开发小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- SharePoint的一些开发小技巧
- .NET开发中的一些小技巧
- DataGrid开发中应注意的一些小技巧