有的时候我们一个页面要用很多个textview,而且这些textview的样式非常相像,这种情况下我们可以把这些样式抽取出来,然后在每个textview中引用即可,这样修改起来也方便。

我们来看一个简单的例子,在一个页面中有三个textview,每个textview显示内容不同但是样式都相像,先来看看显示效果:

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.style.MainActivity" ><TextViewstyle="@style/tv_style"android:text="纵豆蔻词工,青楼梦好,难赋深情。" /><TextViewstyle="@style/tv_style_g"android:text="二十四桥仍在,波心荡、冷月无声。" /><TextViewstyle="@style/tv_style.tv_style_b"android:text="念桥边红药,年年知为谁生。" /></LinearLayout>

布局中的textview很简洁,因为我们把显示样式都抽取出来了,看看样式:

<resources><style name="AppBaseTheme" parent="android:Theme.Light" /><!-- Application theme. --><style name="AppTheme" parent="AppBaseTheme" /><style name="tv_style"><item name="android:layout_width">wrap_content</item>        <item name="android:layout_height">wrap_content</item>        <item name="android:textSize">25sp</item>        <item name="android:textColor">#FF0000</item>        </style><style name="tv_style_g" parent="tv_style"><item name="android:textColor">#00FF00</item>        </style><!-- 两种不同的继承方式 --><style name="tv_style.tv_style_b"><item name="android:textColor">#0000FF</item>        </style>
</resources>

tv_style是一个总的样式,定义了每个textview的宽高,字体大小以及字体颜色,tv_style_g和tv_style_b是继承自tv_style样式,继承之后覆盖了tv_style中的颜色,其他都不变,这里有两种继承方式。

android中的样式文件可以用于任何控件,包括button,imageview等。

这是控件的样式,应用的主题我们也可以自己设置:

在AndroidManifest.xml文件中,

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.style"android:versionCode="1"android:versionName="1.0" ><uses-sdk
        android:minSdkVersion="14"android:targetSdkVersion="14" /><application
        android:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@android:style/Theme.Translucent" ><activity
            android:name=".MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

android:theme=”@android:style/Theme.Translucent”表示应用的主题,Translucent表示是透明的,效果如图:

打开应用后就是这种效果。

还有一种是Dialogandroid:theme="@android:style/Theme.Dialog,这个表示是以对话框的形式显示,效果如图:

还有很多种,看官自己去试吧。

完整代码下载

android中的样式和主题相关推荐

  1. android edittext光标太大,Android中EditText样式修改 聚焦光标、背景

    在Android开发中,根据项目的需求,需要定制一些特殊的样式,例如:使用EditText时,聚焦时的背景及光标图片使用自定义而非android系统默认的.这两天,在项目中涉及此需求,现记录如下: 首 ...

  2. Microsoft Word 教程「4」,如何在 Word 中应用样式、主题?

    欢迎观看 Microsoft Word 教程,今天学习的是 Microsoft Word 的使用技巧,了解如何在 Word 中应用样式.主题. 样式使文档具有风格一致的专业外观. 选择要设置格式的文本 ...

  3. 在ASP.NET 2.0中使用样式、主题和皮肤

    ASP.NET 2.0的主题和皮肤特性使你能够把样式和布局信息存放到一组独立的文件中,总称为主题(Theme).接下来我们可以把这个主题应用到任何站点,用于改变该站点内的页面和控件的外观和感觉.通过改 ...

  4. [导入]在ASP.NET 2.0中使用样式、主题和皮肤

    文章来源:http://blog.csdn.net/21aspnet/archive/2007/03/24/1539708.aspx 转载于:https://www.cnblogs.com/zhaox ...

  5. Android样式和主题背景

    简介: 本文将简单介绍Android样式与主题背景的相关内容 文章目录 前言 一.样式 二.主题背景 三.样式层次结构 四.创建并应用样式 五.自定义默认主题 六.添加特定于版本的样式 七.常见的主题 ...

  6. Android样式和主题背景·

    简介: 本文将简单介绍Android样式与主题背景的相关内容 文章目录 前言 一.样式 二.主题背景 三.样式层次结构 四.创建并应用样式 五.自定义默认主题 六.添加特定于版本的样式 七.常见的主题 ...

  7. android中样式文件步骤,详解Android主题开发的样式教程

    Android中的样式和css样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个view 控件属性的集合.主题是一个包含一种或者多种格式化属性的集合,你可以将其为一个单位用在应用中 ...

  8. android学习笔记---50_样式与主题,给控件使用样式,给应用使用主题

    50_样式与主题 android学习笔记---50_样式与主题,给控件使用样式,给应用使用主题 2013/5/12 50_样式与主题 ----------------- android样式和主题(st ...

  9. android 主题xml,Android中自定义主题风格theme.xml

    在Android中可以通过自定义主题风格方式来实现个性化以及复用,首先我们创建theme.xml主题文件,保存位置为工程的 res/values/theme.xml ,这里我们可以可以为主题起一个名称 ...

最新文章

  1. Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TAB
  2. mysql errno : 1146_MySQL_MySQL复制出错 Last_SQL_Errno:1146的解决方法,背景:我们在做数据迁移或者 - phpStudy...
  3. idea上一些比较有用的插件
  4. 第二次作业+105032014101
  5. Dubbo消费者代理的创建
  6. 客户端动态化系列之——URLRoute
  7. 如何通过 SSH 连接到 Docker 容器
  8. Ghost 系统安装全攻略图解(6种不同安装方法)
  9. 三阶魔方还原教程最详细
  10. 线下AWD平台搭建以及一些相关问题解决
  11. [常用类]Instant类的使用
  12. 快解析内网穿透,速度快 不限速 不限流
  13. SAP BASIS ADM100 中文版 Unit 2(1)
  14. 摸个鱼的功夫,搞懂双亲委派机制
  15. 【私藏】开发APP必须知道的API集合
  16. 什么是土壤电阻率,它如何影响防雷接地
  17. java单链表选票_200个经典C程序源码
  18. 阿里云聆听平台使用有感
  19. 找出程序耗费 CPU 的函数
  20. Task01:熟悉新闻推荐系统的基本流程(项目结构)

热门文章

  1. 安卓之Animator讲解
  2. 范围——项目规模之人员数量
  3. C#中的checked关键字和unchecked 关键字
  4. 如果说数据是数字经济的新石油,那么人工智能(AI)就是蒸汽机
  5. 物联网战略的成败在于开放性
  6. Android进程间通信 深入浅出AIDL(一)
  7. 包揽数理化国际奥赛全部第一,全员金牌,网友:中国队太秀了
  8. 在BAT级别的公司工作是一种怎样的体验?
  9. 细化数据集中存储管理,群晖NAS打造企业级全能解决方案
  10. Reddit NFT爆火,全球最大社区论坛成为Web3大规模应用前哨站