http://developer.android.com/guide/topics/resources/more-resources.html

http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList

 res/value:

dimen.xml:主要用于设置像素默认值

<resources>

res/values/dimens.xml

<dimen name="sp_12">12sp</dimen>
<dimen name="sp_13">13sp</dimen>

<dimen name="dip_40">40dip</dimen>
 <dimen name="dip_45">45dip</dimen>

</resources>

代码使用:

int width=getContext().getResources().getDimension(R.dimen.tab_width);

xml文件使用:

android:layout_width="@dimen/tab_width"

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

color.xml:主要用于设置颜色值

<resources>

  res/values/colors.xml

<color name="transparent">#00000000</color>
    <color name="pink">#ffff88ff</color>

<drawable name="transparent_background">#00000000</drawable>//

res/values/filename.xml
<boolname="screen_small">true</bool>//boolean值
<boolname="adjust_view_bounds">true</bool> res/values/filename.xml
<itemtype="id"name="id_name"/>

</resources>

代码设置color方法:

testview.setTextColor(Color.parseColor("FFFFFF"));

testview.setTextColor(Color.GRAY);

tv.setTextColor(Color.rgb(255, 255, 255));

testview.setTextColor(getContext().getResources().getColor(R.color.my_color));

Resources res =getResources();boolean screenIsSmall = res.getBoolean(R.bool.screen_small);

Resources res =getResources();int color = res.getColor(R.color.opaque_red);

Resources res =getResources();float fontSize = res.getDimension(R.dimen.font_size);

xml使用:

android:background="@color/transparent"

android:adjustViewBounds="@bool/adjust_view_bounds"

android:textSize="@dimen/font_size"

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

array.xml

<resources>
    <declare-styleable name="DragSort">
        <attr name="collapsed_height" format="dimension" />
        <attr name="drag_scroll_start" format="float" />
        <attr name="max_drag_scroll_speed" format="float" />
        <attr name="float_background_color" format="color" />
        <attr name="remove_mode">
            <enum name="clickRemove" value="0" />
            <enum name="flingRemove" value="1" />
        </attr>
        <attr name="track_drag_sort" format="boolean" />
        <attr name="float_alpha" format="float" />
        <attr name="slide_shuffle_speed" format="float" />
        <attr name="remove_animation_duration" format="integer" />
        <attr name="drop_animation_duration" format="integer" />
        <attr name="drag_enabled" format="boolean" />
        <attr name="sort_enabled" format="boolean" />
        <attr name="remove_enabled" format="boolean" />
        <attr name="drag_start_mode">
            <enum name="onDown" value="0" />
            <enum name="onMove" value="1" />
            <enum name="onLongPress" value="2" />
        </attr>
        <attr name="drag_handle_id" format="integer" />
        <attr name="fling_handle_id" format="integer" />
        <attr name="click_remove_id" format="integer" />
        <attr name="use_default_controller" format="boolean" />
    </declare-styleable>

</resources>

代码使用:

TypedArray array = getContext().obtainStyledAttributes(attrs, R.styleable.DragSort, 0, 0);

mItemHeight = Math.max(1, array.getDimensionPixelSize(R.styleable.DragSortListView_collapsed_height, 1));

mTrackDragSort = array.getBoolean( R.styleable.DragSortListView_track_drag_sort, false);

xml使用:

<ListPreference
     android:title="@string/page_animation"
     android:defaultValue="@string/default_page_animation"
     android:entries="@array/page_animation_labels"
     android:entryValues="@array/page_animations"
     android:key="pageAnimation"
     />

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

strings.xml:主要设置文本

<resources>

<string name="button_confirm">确定</string>     
 <string name="button_cancel">取消</string>

<string-array name="page_animations">
  <item>100</item>
  <item>0</item>
  <item>1</item>
  <item>2</item>
  <item>3</item>
 </string-array>

</resources>

代码使用:

testview.setText(getString(R.string.button_confirm));

xml使用:

android:text="@string/button_confirm"

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

风格style与主题theme区别:

1:style主要用于View,theme主要用于Activity以及Application

2、style主要用于设置View的属性,theme主要用设置Activity的样式如是:否全屏

3、style与theme都是以<style><item>文本</item></style>创建,只是item的内容不一样

style定义:

style.xml文件

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

<style name="TitleStyle">

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

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

</style>

<style name="Title" parent="@style/TitleStyle"> (继承TitleStyle属性)

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

</style>

</resources>

代码使用:

xml使用:

<EditText android:layout_height="wrap_content"

android:text="EditText"

style="@style/Title"

android:layout_width="fill_parent"

android:id="@+id/editText1" />

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

theme:

style.xml

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

<resources>

  <style name="theme1">

    <item name="android:windowNoTitle">true</item>

    <item name="android:windowFullscreen">?android:windowNoTitle</item>

  </style>

  <style name="theme2.a">

    <item name="android:windowNoTitle">true</item>

    <item name="android:windowFullscreen">?android:windowNoTitle</item>

  </style>

</resources>

代码使用:

注意:setTheme应该在setContentView之前调用。

setTeme(R.theme.theme1);/setTeme(R.style.theme1)

setContentView(R.layout.main);

xml使用主题:

<application

  android:icon="@drawable/icon" android:label="@string/app_name"

  android:theme="@style/theme1">

  <activity

    android:name=".MessageShowActivity" android:label="@string/app_name"

    android:windowSoftInputMode="adjustPan" android:screenOrientation="portrait"

    android:theme="@style/theme2">

  </activity>

</application>

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

android的selector是在drawable/xxx.xml中创建的:

selector:主要用设置view点击选中显示效果

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
  android:color="hex_color"
  android:state_pressed=["true" | "false"]
  android:state_focused=["true" | "false"]
  android:state_selected=["true" | "false"]
  android:state_checkable=["true" | "false"]
  android:state_checked=["true" | "false"]
  android:state_enabled=["true" | "false"]
  android:state_window_focused=["true" | "false"] />
</selector> android:drawable 放一个drawable资源
android:state_pressed 是否按下,如一个按钮触摸或者点击。
android:state_focused 是否取得焦点,比如用户选择了一个文本框。
android:state_hovered 光标是否悬停,通常与focused state相同,它是4.0的新特性
android:state_selected 被选中,它与focus state并不完全一样,如一个list view 被选中的时候,它里面的各个子组件可能通过方向键,被选中了。
android:state_checkable 组件是否能被check。如:RadioButton是可以被check的。
android:state_checked 被checked了,如:一个RadioButton可以被check了。
android:state_enabled 能够接受触摸或者点击事件
android:state_activated 被激活(这个麻烦举个例子,不是特明白)
android:state_window_focused 应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了
------- <selector xmlns:android="http://schemas.android.com/apk/res/android">

  <item android:state_window_focused="false" android:drawable="@drawable/pic1" /><!-- 没有焦点时的背景图片-->
  <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/pic2" /><!-- 非触摸模式下获得焦点并单击时的背景图片-->
  <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/pic3" /><!-- 触摸模式下单击时的背景图片-->
  <item android:state_selected="true" android:drawable="@drawable/pic4" /><!--选中时的图片背景-->
  <item android:state_focused="true" android:drawable="@drawable/pic5" /><!--获得焦点时的图片背景-->
 </selector>

在xml中使用示例:

res/color/button_text.xml

<?xml version="1.0" encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
    <item
      android:state_pressed="true"
        android:color="#ffff0000"/><!-- pressed -->
   <item
      android:state_focused="true"
        android:color="#ff0000ff"/><!-- focused -->
   <itemandroid:color="#ff000000"/><!-- default -->
</selector>
<Button
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
   android:text="@string/button_text"
   android:textColor="@color/button_text"/>
--------------------------------

android resources使用总结的更多相关文章

  1. cocos2dx android resources.ap_ does not exist

    当我们在eclipse中打开cocos2dx自动创建的工程时,经常会出现错误: cocos2dx android resources.ap_ does not exist 这是因为android工程的 ...

  2. Andriod(3)——Understanding Android Resources

    Now, we will follow that introduction with an in-depth look at Android SDK fundamentals and cover re ...

  3. Illegal resource reference: @*android resources are private and not always present

    0:前言 在android开发中,当使用别人的代码的时候,在style.xml中有此种错误 1:解决方案 删除*星号

  4. android Resources 类的使用

    使用 R.<resource_type>.<resource_name> 获取的是资源的一个 id (int 类型), 但有时候我们需要获取资源本身,这时候我们可以通过 Res ...

  5. Android Resources

    Ref:Android开发最佳实践 Ref:Android高手速成--第一部分 个性化控件(View) Ref:Android高手速成--第二部分 工具库 Ref:Android高手速成--第三部分 ...

  6. Android Weekly Notes Issue #224

    Android Weekly Issue #224 September 25th, 2016 Android Weekly Issue #224 本期内容包括: Google Play的pre-lau ...

  7. [译]:Xamarin.Android开发入门——Hello,Android Multiscreen深入理解

    原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本 ...

  8. [译]:Xamarin.Android开发入门——Hello,Android深入理解

    返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...

  9. Xamarin Mono For Android 4.6.07004 完整离线安装破解版(C#开发Android、IOS工具)

      Xamarin是由Miguel de Icaza成立的一家新的独立公司,目的是给Mono一个继续奋斗的机会.Mono for Android (原名:MonoDroid)可以让开发人员使用 Mic ...

随机推荐

  1. (转)【Unity3d】Glow + Outline 轮廓描边

    转:http://www.cnblogs.com/dosomething/archive/2012/08/04/2622488.html [Unity3d]Glow + Outline 轮廓描边 轮廓 ...

  2. gson 自定义对象转换格式

    有时候我们希望gson按照我们想要的方式转换,比如将日期转换为时间戳 class GsonBuilderUtil { public static Gson create() { GsonBuilder ...

  3. 一个4节点Hadoop集群的配置示例

    环境: 操作系统:CentOS 6.5 64bit Hadoop:Version 1.2.1 Servers:hadoopnamenode,hadoop2ndnamenode,hadoopdatano ...

  4. IPv6正则表达式

    斯蒂芬·瑞恩写了一个非常有用的正则表达式,可用于匹配任何一个合法的IPv6地址.以下为正则表达式的代码: ^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|: ...

  5. Windows下Nginx的安装与配置(转)

    一.首先去官网下载 nginx1.0.11的Windows版本,官网下载:http://nginx.org/download/nginx-1.0.11.zip 下载到软件包后,解压 nginx-ngi ...

  6. [界面开发新秀]免费的AYUI,开发360领航版系列教程[2/40]

            <界面开发风AYUI-基于WPF By AY> 大家好! 距离上篇博客发布有10天了,因为我在开发AYUI4.X效果更惊艳 我是AY,很高兴,终于可以写自己的作品的,网络博 ...

  7. Hibernate不调用update却自动更新

    案例: TInfCustomer cus = (TInfCustomer) this.baseDao.getOne(helper); cus.setXXX cus .setXXX 不调用update也 ...

  8. 用ASP.NET Core 1.0中实现邮件发送功能

    准备将一些项目迁移到 asp.net core 先从封装类库入手,在遇到邮件发送类时发现在 asp.net core 1.0中并示提供SMTP相关类库,于是网上一搜发现了MailKit 好东西一定要试 ...

  9. 如何使Session永不过期

    转载:http://blog.csdn.net/wygyhm/article/details/2819128 先说明情况:公司做监控系统,B/S结构,主要用在局域网内部!监控系统开机可能要开好长时间, ...

  10. cmd实用命令

    1.netstat 查看电脑端口状况 实际应用举例:查看某软件坚监听的电脑端口. 在任务管理器中选择列...,打开PID的显示.在这里查看某个应用程序的线程ID是多少.例如QQ:4904. 运行,cm ...