一、Android中的样式和主题

1、1样式

样式是作用在控件上的,它是一个包含一个或者多个view控件属性的集合。android style类似网页设计中的css设计思路,可以让设计和内容分离,方便继承、复用、重用

下面通过一个简单的案例演示自定义样式的用法,在该案例中,我们自定义一个样式,用于渲染Button控件的显示效果

在res/values/styles.xml文件中添加

<style name="bt_style_1">        <item name="android:layout_height">wrap_content</item>        <item name="android:layout_width">match_parent</item>        <item name="android:textSize">20sp</item>        <item name="android:textColor">#00ff00</item>        <item name="android:text">自定义样式1</item>    </style>    <!-- 继承上面的样式,如果属性相同就覆盖 -->    <style name="bt_style_2" parent="bt_style_1">        <item name="android:textSize">30sp</item>        <item name="android:text">自定义样式2</item>    </style>
在res/layout下的布局文件中,添加两个button
<Button style="@style/bt_style_1" /> <Button style="@style/bt_style_2" />

结果显示如图

2、2主题

主题的定义和样式相同,都是在styles.xml文件下,均可以通过设置parent属性来继承一个父样式,不同的是,主题总用在Activity上的

主题通过定义在AndroidManifest.xml文件中的的和节点下的”android:theme”属性作用在整个应用或者某个Activity,主题对整个应用或某个Activity 进行全局性影响。如果一个应用使用了主题,同时应用下的view 也使用了样式,

那么当主题和样式属性发生冲突时,样式的优先级高于主题。

android系统也定义了一些主题,如果需要查阅,可以在文档的reference/android/R.style中查看。

继续使用上面样式中修改过的styles.xml文件,在其中添加如下样式

<!--主题也是通过在styles.xml 文件中定义<style>节点来定义。同样式一样,指定一个全局唯一的名字给主题,通过parent 属性继承父样式。--><style name="theme_noTitle"><!-- 该属性使界面无标题--><item name="android:windowNoTitle">true</item></style><!-- 该属性使界面全屏--><style name="them_noTitle_full" parent="theme_noTitle"><item name="android:windowFullscreen">true</item></style>

在AndroidManifest.xml文件中添加

<!-- 在application 中引入主题则所有activity 都适用--><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/theme_noTitle" ><!-- 在activity 中引入主题则当前Activity 适用--><activityandroid:theme="@style/them_noTitle_full"android:name="com.example.styleAndTheme.MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" />

二、Android实现国际化

android程序国际化,也就是程序可以根据系统所使用的语言,将界面中的文字翻译成与之对象的语言。这样,可以让程序更加通用,android可以通过资源文件非常方便的实现程序的国际化

在编写Android 项目时,通常都是将程序中要使用的字符串资源放置在res/values 目录下的strings.xml 文件中,为了给这些字符串资源实现国际化,可以在Android 项目的res 目录下,创建对应于各个语言的资源文件夹(例如,了让程序兼容简体中文、繁体中文和美式英文,可以分别创建名称为values-zh-rCN、values-zh-rTW 和values-en-rUS的文件夹),然后在每个文件夹中创建一个对应的strings.xml 文件,并在该文件中定义对应语言的字符串即可。样,当程序运行时,就会自动根据操作系统所使用的语言来显示对应的字符串信息了。图片也可以进行国际化,同字符串的国际化类似,只需根据程序要兼容的语言版本,分别创建名称类似drawable-zh-rCN,drawable-zh-rTW 这的文件夹,将图片资源存放在文件夹下即可。

更多相关文章

  1. Android视频播放器---播放远程非流MP4
  2. 【Android基础笔记01】Android开发环境搭建和HelloWorld
  3. Android(安卓)读写文件
  4. Android项目构建Apk包流程
  5. android:sharedUserId问题
  6. CrossWalk - android 动态加载so库文件实践
  7. Android开发指南-框架主题-内容提供器
  8. android moudle 资源文件重命名
  9. NPM 和webpack 的基础使用

随机推荐

  1. 【Android Studio】解决adb not respondi
  2. Android初级第一讲---Android开发环境的
  3. 如何创建一个四位数的密码Android布局
  4. 微信小程序开发环境搭建
  5. 七牛---Android SDK断点续传与暂停上传De
  6. 编译Android4.3内核源代码
  7. 使用片段活动创建的ADT空白活动。
  8. 关于android的webview打开淘宝天猫链接问
  9. Android学习之Asynctask异步操作
  10. android 文件读取(assets)