Android-Style样式
说到Style样式在,HTML+Javascript+CSS中,CSS就是样式,样式可以把很多通用到效果,统一为一个样式,达到通用的目的,也可以让代码更加简洁。
什么时候用Style样式 ?
例如:Android APP中到标题栏都是一个风格的,这个时候就可以定义标题的样式,所有的标题样式风格就通用了,而且维护很方便,修改样式文件,就全部都修改了
总之:很多控件都有重复都风格的时候,就可以使用Style样式的抽取;
实现这个效果:

不使用样式,就会有很多重复代码,不利于维护和管理,例如:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"> <TextView
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="22dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_marginTop="20dp"
android:text="111"
/> <TextView
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="22dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_marginTop="20dp"
android:text="222"
/> <TextView
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="22dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_marginTop="20dp"
android:text="333"
/> <TextView
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="22dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_marginTop="20dp"
android:text="444"
/> </LinearLayout>
使用样式的优点是,重复代码被抽取,有利于维护:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"> <TextView
style="@style/MyTextView"
android:text="111"
/> <TextView
style="@style/MyTextView"
android:text="222"
/> <TextView
style="@style/MyTextView"
android:text="333"
/> <TextView
style="@style/MyTextView"
android:text="444"
/> </LinearLayout>
Styles.xml
<resources>
<style name="MyTextView">
<!--
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="22dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_marginTop="20dp"
-->
<item name="android:layout_width">140dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">@android:color/black</item>
<item name="android:textSize">22dp</item>
<item name="android:background">@color/colorAccent</item>
<item name="android:gravity">center</item>
<item name="android:layout_marginTop">20dp</item>
</style>
</resources>
使用样式的优点是,重复代码被抽取,有利于维护,样式还有一个功能,是可以继承:
最后一个TextView控件使用的样式是:style="@style/MyTextView_update"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"> <TextView
style="@style/MyTextView"
android:text="111"
/> <TextView
style="@style/MyTextView"
android:text="222"
/> <TextView
style="@style/MyTextView"
android:text="333"
/> <TextView
style="@style/MyTextView"
android:text="444"
/> <TextView
style="@style/MyTextView_update"
android:text="555_update"
/> </LinearLayout>
Styles.xml,升级操作 <style name="MyTextView_update" parent="MyTextView">
<resources>
<style name="MyTextView">
<item name="android:layout_width">140dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">@android:color/black</item>
<item name="android:textSize">22dp</item>
<item name="android:background">@color/colorAccent</item>
<item name="android:gravity">center</item>
<item name="android:layout_marginTop">20dp</item>
</style>
<style name="MyTextView_update" parent="MyTextView">
<item name="android:layout_marginLeft">20dp</item>
</style>
</resources>
最后一个TextVIew距离左边20dp,是升级后的样式

样式不仅可以继承自己写的样式,继承别人写的样式,还可以继承系统写的样式,都是可以的
Android-Style样式的更多相关文章
- 20.(转)Android的样式(Style)和主题(Theme)
Android上的Style分为了两个方面: 1,Theme是针对窗体级别的,改变窗体样式: 2,Style是针对窗体元素级别的,改变指定控件或者Layout的样式. Android系统的themes ...
- Android系统自带样式(@android:style/) (转)
摘自:http://blog.csdn.net/hongya1109110121/article/details/11985545 在AndroidManifest.xml文件的activity中配置 ...
- Android系统自带样式(@android:style/)
在AndroidManifest.xml文件的activity中配置 1.android:theme="@android:style/Theme" 默认状态,即如果theme这里不 ...
- (转)Android系统自带Activity样式(@android:style/)
在AndroidManifest.xml文件的activity中配置 1.android:theme="@android:style/Theme" 默认状态,即如果theme这里不 ...
- (转)Android系统自带样式(@android:style/)
在AndroidManifest.xml文件的activity中配置 1.android:theme="@android:style/Theme" 默认状态,即如果theme这里不 ...
- android自定义样式大全:shape,selector,layer-list,style,动画全部内容
原文:http://keeganlee.me/post/android/20150830 以下摘取了部分内容: shape 一般用shape定义的xml文件存放在drawable目录下,若项目没有该目 ...
- Android 基础一 TextView,Style样式,Activity 传值,选择CheckBox 显示密码
1.修改TextView字体 mTextView = (TextView) findViewById(R.id.textview1); mTextView.setText("I am her ...
- Android系统自带样式(@android:style/) (转)
1 android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" 布局页面最上面 不会显示 and ...
- android的样式(style)与主题(theme)
Android上的Style分为了两个方面: 1,Theme是针对窗体级别的,改变窗体样式: 2,Style是针对窗体元素级别的,改变指定控件或者Layout的样式. Android系统的themes ...
- ArcGIS Runtime SDK for Android中SimpleFillSymbol.Style样式
SimpleFillSymbol.Style样式枚举共8种: 1.BACKWARD_DIAGONAL 反对角线填充 2.CROSS 交叉线填充 3.DIAGONAL_CROSS 前后对角线填充 4.F ...
随机推荐
- 用Jmeter制造软件测试数据
在测试过程难免会遇到一些需要大量测试数据的情况,如果数据没有太多的需求,或者需求本身比较简单,这时候我们可以用Jmeter参数化来实现(建议用badboy录制) 首先,我们可以通过badboy来录制实 ...
- Python实践练习:在 Wiki 标记中添加无序列表
题目描述 项目:在 Wiki 标记中添加无序列表 在编辑一篇维基百科的文章时,你可以创建一个无序列表,即让每个列表项占据一行,并在前面放置一个星号.但是假设你有一个非常大的列表,希望添加前面的星号.你 ...
- IDEA debug
版权声明: 本文转自:https://blog.csdn.net/qq_27093465/article/details/64124330 1,rerun XXX,这个就是直接重新跑某个程序.2,这个 ...
- [iOS]swift之UITableView添加通过xib创建的headerView坑爹问题
情景是这样的,我UITableView添加了一个HeaderView,这个HeaderView是通过xib创建,是UIView.出来的结果却出乎意料,UITableView的Cell最顶部的几个被He ...
- WCF配置多个终节点
配置多个终节点的意义(自己理解):一个服务可以有多个终节点,网上也经常有人说终节点才是服务的真正的接口,的确如此,当我们为一个服务配置多个终节点时,就表明这个服务可以被以不同的方式访问(不同的绑定等等 ...
- BarcodeLib -- 一个精简而不失优雅的条形码生成库
BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言 在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成.今天我所介绍的是另一款类库 Bar ...
- ReentrantLock(重入锁)功能详解和应用演示
目录 1. ReentrantLock简介 2. ReentrantLock和synchronized的相同点 2.1 ReentrantLock是独占锁且可重入的 3. ReentrantLock相 ...
- 启动和关闭MySQL服务
停止mysql服务,说来简单,但不知道的话,还真是挠头.在这和mysql入门的同学们共享:) 正确方法是,进入mysql的bin目录下,然后执行./mysqladmin -uroot -p shut ...
- centos7 安装VMware Tools 遇到的一系列问题的解决方案
先部署源:http://www.cnblogs.com/jiu0821/p/8074463.html VMware Tools安装方法参考:http://www.cnblogs.com/jiu0821 ...
- QUrl
QUrl Detailed Description The QUrl class provides a convenient interface for working with URLs. It c ...