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 ...
随机推荐
- Spring源码研究--下载-编译-导入eclipse-验证
一,环境配置 操作系统:Unbutu14.04LTS JDK: 1.8.0_40 git: 1.9.1 gradle: 2.2.1 二,源码下载-编译-导入eclipse-验证 1,下载 使用git直 ...
- npm上传包
npm上传包 向npm上传一个包是很容易的,只需要三步: 1.在npm官网注册一个账户,然后在cmd中登录账户 注:npm不要使用代理,直接连接 https://registry.npms.org/. ...
- 摆脱Login控件,自己定义登录操作
protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { //在登录过程中,程序自动使用login.aspx进 ...
- TBluetoothLEDevice.UpdateOnReconnect
System.Bluetooth.TBluetoothLEDevice.UpdateOnReconnect Description Indicates whether the manager auto ...
- iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem是上篇,我们接着讲UINavigationController的重要作用,页面的管理和切换. ...
- [iOS]UIScrollView嵌套UITableView,超出屏幕的cell点击不了问题
最初我是用UIScrollView嵌套了一个UIView,然后UIView里面嵌套UITableView,这样cell 就会超出屏幕那一部分点击不了. 解决方法如下,UITableView拖出来,作为 ...
- 将中国标准时间转成yyyy-MM-dd
public static void main(String[] args) throws ParseException { String s = "Tue Jul 12 00:00:00 ...
- Struts2分模块开发
-------------------siwuxie095 Struts2 分模块开发 在实际开发中,如果一个项目是团队开发的,也就是很多人开发的, 每个人都需要去修改 struts.xml,因为 s ...
- 登录模块(前端bookstrapValidator校验+加密+后台加密+后台验证)
package sysone.zr.com.controller; import java.io.IOException; import javax.servlet.http.HttpServletR ...
- MVC Pager使用
View中加入引用:@using Webdiyer.WebControls.Mvc; 使用时代码: <div id="Pagination"> @Html.Pager( ...