资源文件 样式 主题

android

2013-05-06 15:37




字符串资源  数值资源 颜色 字符串数字 数值数组 图片 文字大小 样式  主题 等。。



例如: res-values-strings.xml

   

 值文件的使用  android:text="@string/名字"


获取资源文件   getResoucrse.getColor(R.color.id)  等方法。。。。


字符串

getResources().getString(R.string.app_name);


颜色

getResoucrse.getColor(R.color.id) 


尺寸

getResources().getDimension(R.dimen.xx);


图片

getResources().getDrawable(R.drawable.icon)


数组

getResources().getStringArray(R.array.lista)



样式的应用

style="@style/dv"    布局文件

style.xml

 <style name="dv" >

    <item name="android:textSize">14sp</item>

    <item name="android:textColor">#FF7F7C</item>

    <item name="android:fromAlpha">0.0</item>

    <item name="android:toAlpha">0.0</item>

  </style>

style="@style/dv.red"    布局文件  相当于拥有dv样式和.red样式 

 <style name="dv.red" >   可以多级样式继承.

      <item name="android:textColor">#FF7F7C</item>

  </style>

 <style name="subitcast" parent="@style/dv">   同理 

    <item name="android:textColor">#FF0000</item>

 </style>


主题的应用

AndroidManifest.xml

  <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/zhuti" > 整个应用就是这个主题了。。。


某个activity的主题 

 <activity

            android:name="com.example.an.MainActivity"

            android:label="@string/app_name" 

            android:theme="@style/zhuti"

            >



stylebutton.xml

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"

    android:shape="rectangle">    

android:shape=["rectangle" | "oval" | "line" | "ring"]  4中选择。。方形 椭圆 线 环

    <gradient

        android:startColor="#FFF12000"        开始颜色

         android:centerColor="#F22F0022"     中间颜色

        android:endColor="#33FF00FF"           结束颜色

        android:angle="45"/>                   透明度

    <padding android:left="17dp"          内填充距离

        android:top="17dp"

        android:right="17dp"

        android:bottom="17dp" />

    <corners

        android:radius="8dp"               全局设置

        android:topLeftRadius="8dp"        单独设置

        android:topRightRadius="8dp" />   

</shape>

设置背景

  android:background="@drawable/stylebutton"



改变按钮背景

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android" >

<item  android:state_selected="true" android:drawable="@drawable/e2"></item>

<item  android:drawable="@drawable/e1"></item>

</selector>

ImageButton1.setSelected(true);

ImageButton2.setSelected(false);

------------------------------------------------------------------------------


<ImageButton

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:background="#00000000"    //去掉按钮边框

  android:src="@drawable/menu_bt"  />


<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android" >

<!-- 没有焦点时的背景图片 --> 

<item android:state_window_focused="false"         android:drawable="@drawable/back" />

<!-- 非触摸模式下获得焦点并单击时的背景图片 -->  

  <item android:state_focused="true"   android:state_pressed="true"      android:drawable= "@drawable/back_on" />

<!-- 触摸模式下单击时的背景图片-->  

  <item android:state_focused="false"  android:state_pressed="true"    android:drawable="@drawable/back_on" />

<!--选中时的图片背景-->  

  <item android:state_selected="true"     android:drawable="@drawable/back_on" />

<!--获得焦点时的图片背景-->  

  <item android:state_focused="true"     android:drawable="@drawable/back_on" />

<!-- 默认时的背景图片-->  

   <item android:drawable="@drawable/back" />

</selector>

用在上 ImageView 是无效的