android 积累

图片资源

图片资源是简单的Drawable资源,目前Android支持的图片格式有:gif、png、jpg等。我们只需要把图片资源放置到\res\drawable目中,那么在编译后的R.java类中就会生成图片资源的资源ID

注:Android中drawable中的资源名称有约束,必须是: [a-z0-9_.](即:只能是字母数字及_和.),而且不能以数字开头,否则编译会报错: Invalid file name: must contain only [a-z0-9_.]

android:background="@drawable/message_item_bg"

单位

dip: device independent pixels(设备独立像素),不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖于像素。 

dp:(与密度无关的像素),一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。

sp:scaled pixels(放大像素),主要用于字体显示best for textsize。与dp类似,但是可以根据用户的字体大小首选项进行缩放。 

根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看TextView的源码可知Android默认使用sp作为字号单位。

px: pixels(像素)屏幕上的点。不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 

pt: point(磅),是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用。 

in(英寸):长度单位。

mm(毫米):长度单位。 

density,直译密度,在显示领域里表示每平方英寸的像素点密度,每个像素点可以近似看作屏幕上的一个发光点,点的密度越大,则显示效果越清晰,在单位面积下显示内容越多。

分辨率(resolution,港台称之为解析度)就是屏幕图像的精密度,是指显示器所能显示的像素的多少。由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也越多,所以分辨率是个非常重要的性能指标之一。可以把整个图像想象成是一个大型的棋盘,而分辨率的表示方式就是所有经线和纬线交叉点的数目。

 

Android平台定义的主题样式:

android:theme="@android:style/Theme.Dialog"   将一个Activity显示为对话框模式

•android:theme="@android:style/Theme.NoTitleBar"  不显示应用程序标题栏
•android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  不显示应用程序标题栏,并全屏

•android:theme="@android:style/Theme.Light"  背景为白色
•android:theme="@android:style/Theme.Light.NoTitleBar"  白色背景并无标题栏
•android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"  白色背景,无标题栏,全屏

•android:theme="@android:style/Theme.Black"  背景黑色
•android:theme="@android:style/Theme.Black.NoTitleBar"  黑色背景并无标题栏
•android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"    黑色背景,无标题栏,全屏

•android:theme="@android:style/Theme.Wallpaper"  用系统桌面为应用程序背景
•android:theme="@android:style/Theme.Wallpaper.NoTitleBar"  用系统桌面为应用程序背景,且无标题栏
•android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"  用系统桌面为应用程序背景,无标题栏,全屏

•android:theme="@android:style/Translucent" 半透明效果
•android:theme="@android:style/Theme.Translucent.NoTitleBar"  半透明并无标题栏
•android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"  半透明效果,无标题栏,全屏
•android:theme="@android:style/Theme.Panel"

Android平台定义了三种字体大小:

"?android:attr/textAppearanceLarge"
"?android:attr/textAppearanceMedium"
"?android:attr/textAppearanceSmall"

Android字体颜色:

android:textColor="?android:attr/textColorPrimary"
android:textColor="?android:attr/textColorSecondary"
android:textColor="?android:attr/textColorTertiary"
android:textColor="?android:attr/textColorPrimaryInverse"
android:textColor="?android:attr/textColorSecondaryInverse"

Android的ProgressBar样式:

style="?android:attr/progressBarStyleHorizontal"
style="?android:attr/progressBarStyleLarge"
style="?android:attr/progressBarStyleSmall"
style="?android:attr/progressBarStyleSmallTitle"

分隔符

横向: 

<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="?android:attr/listDivider" />


纵向: 

<View android:layout_width="1dip"
android:layout_height="fill_parent"
android:background="?android:attr/listDivider" />

CheckBox样式  

style="?android:attr/starStyle"


类似标题栏效果的TextView
style="?android:attr/listSeparatorTextViewStyle"

其它有用的样式
android:layout_height="?android:attr/listPreferredItemHeight"
android:paddingRight="?android:attr/scrollbarSize"
style="?android:attr/windowTitleBackgroundStyle"
style="?android:attr/windowTitleStyle"
android:layout_height="?android:attr/windowTitleSize"
android:background="?android:attr/windowBackground"

修改Activity的标题栏样式

如在styles.xml中增加
<resources> 
    <style name="AutoWindowTitleBackground"> 
        <item name="android:background">#778899</item> 
    </style> 
    <style name="autoWindowTitlebar" parent="android:Theme"> 
        <item name="android:windowTitleSize">32dp</item>
        <item name="android:windowTitleBackgroundStyle">@style/AutoWindowTitleBackground</item>
    </style> 
</resources>
接着再修改AndroidManifest.xml文件,找到要自定义标题栏的Activity,添加上android:theme值,比如:
<activity android:name=".MainActivity" android:theme="@style/autoWindowTitlebar">

 
去掉所有Activity界面的标题栏
修改AndroidManifest.xml

在application 标签中添加android:theme=”@android:style/Theme.NoTitleBar”

 

posted @ 2015-10-24 09:37  注定likeyou  阅读(163)  评论(0编辑  收藏  举报