您的位置:首页 > 移动开发 > Android开发

安卓开发中的一些实用小技巧

2016-08-03 17:08 260 查看
本人安卓新手,在开发过程中发现一些琐碎的知识点每次翻找起来非常不便,于是记录在此博客中,便于查阅。

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,也就是复位。

第一次写博客,没什么经验,欢迎批评指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android