Android —— 禁止转向、简单外部样式的设置

来源:互联网 发布:淘宝卖家升蓝钻 编辑:程序博客网 时间:2024/06/05 01:51

刚刚开始学习Android应用开发,在网上和书上找了各种各样的样式设置,由于样式设置重复率高,而且一些样式的设置繁琐复杂, 因此在本博客记录一些平时比较常见的样式设置。


(1)屏幕转向的设置

在Android中要让一个程序的界面始终保持一个方向,不随手机的方向转动而变化的方法,总共有2种:

方法①——禁止转向

在manifests目录下的AndroidManifest.xml配置文件中,加入属性android:screenOrientation="portrait"(属性可填portrait——纵向,landspace——横向)即可。

   

方法②——禁止使用方向传感器

从Android 1.5系统开始,就可以设置Sensor旋转屏幕。同样在AndroidManifest.xml配置文件中,在相关的activity中加入android:screenOrientation="nosensor"属性即可。



另外,由于Android在转屏时,会重启activity,这样会导致转屏前没有保存的数据会丢失。因此,要避免在转屏时重启activity,可以通过在AndroidManifest.xml配置文件中重新定义方向,即给每个activity加上android:configChanges=”keyboardHidden|orientation”属性,并根据Activity的重写 onConfigurationChanged(Configuration newConfig)方法来控制,这样在转屏时就不会重启activity了,而是会去调用 onConfigurationChanged(Configuration newConfig)这个方法。




(2)外部样式的设置

由于在编写界面的时候遇到了需要加边框线的部分,由于我使用的容器是LinearLayout,没有办法直接加上我想要的效果。查找资料后,学会了给LinearLayout加上边框线的方法。

①首先在res目录下,新建一个xml文件,类型选择drawable,这时生成的xml文件将会自动放入res/drawable目录,如下:


②在该xml文件下,可以编写一些样式代码,如下:


这里我使用的是layer-list,因为我需要设置某一个特定方向上的边框线,而其他方向的边框线则不予设置

③在需要设置这种样式的控件中,加上android:background="@drawable/文件名"(我使用的样式名为tab4_bottom.xml)