android 自己定义标签的使用,实现扁平化UI设计
2014年8月6日11:06:44
android对自己定义标签的使用。实现扁平化UI设计:
1.attrs.xml文件里自己定义标签
如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="first">
//reference指的是是从string.xml引用过来
<attr name="name" format="reference" />
<attr name="age">
//flag是自定义的,类似于android:gravity="top"
<flag name="child" value="10"></flag>
<flag name="yong" value="18"></flag>
<flag name="oldman" value="60"></flag>
</attr>
//dimension 指的是是从dimension.xml里引用过来的内容.
<attr name="testSize" format="dimension"></attr>
</declare-styleable>
</resources>
2.在布局文件里使用自己定义标签。对标签属性进行赋值
如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
//com.example.declarestyleabletest为清单文件里包的根路径 xmlns:test="http://schemas.android.com/apk/res/com.example.declarestyleabletest"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
//MyTest见以下
<com.example.declarestyleabletest.MyTest
android:id="@+id/tvTest"
test:name="@string/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/test"
test:age="oldman"
test:testSize="@dimen/size" />
</LinearLayout>
3.MyTest.java:在类中能够得到布局文件里对属性赋的值,取到值之后能够对TextView的属性进行赋值改动样式
如:
package com.example.declarestyleabletest;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.widget.TextView;
public class MyTest extends TextView {
public MyTest(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray tArray = context.obtainStyledAttributes(attrs,
R.styleable.first);
String name = tArray.getString(R.styleable.first_name);
int age = tArray.getInt(R.styleable.first_age, 100);
//int dimen = tArray.getInt(R.styleable.first_testSize, 110);
System.out.println("name:" + name + "age:" + age + "dimen:" );
// 复用StyledAttributes
tArray.recycle();
}
}
4.在main.activity中通过id:tvTest使用改动过样式的view对象,如本例中的TextView。
以下附上两个demo,第一个为简单的自己定义标签的赋值和取出,第二个为较为复杂的FlatUi扁平化Ui的实现。大家能够參考一下。
扁平化效果图:
http://download.csdn.net/detail/u014071669/7720493
android 自己定义标签的使用,实现扁平化UI设计的更多相关文章
- 基于 Bootstrap 的扁平化 UI 开发包
Flat UI是一款基于Bootstrap的扁平化前端UI工具包,Flat UI的组件外观设计非常清新和漂亮,Flat UI的组件包含按钮,输入框,组合按钮,复选框,单选按钮,标签,菜单,进度条和滑块 ...
- MahApps.Metro扁平化UI控件库(可修改主题色等)
一.名词解释 使用MahApps.Metro扁平化UI控件库,可以使界面呈现更加美观.本文将总结MahApps.Metro的使用方法,及如何自定义修改其主题颜色等. 详细内容可参考官网:https:/ ...
- F2工作流引擎Web层全新扁平化UI上线
特点:引入Bootstrap开源UI样式和fontawesome图标集 扁平化样式使用界面更舒服,按钮主题可快速定义更换,对于集成到业主系统UI图标更加丰富. 以下截取部分图片展示,更多请联系作者登录 ...
- 你会喜欢的25个创意的扁平化 LOGO 设计
扁平设计的风暴席卷了整个设计领域,它不仅影响网页设计,也影响了用户界面和标志设计.最近,我们看到了很多大公司,如谷歌和必应开始使用扁平设计的标识. 一个 LOGO 应该简单,显眼和精美,以适应产品的整 ...
- iPhone4@iOS7Beta4,第一时间刷上,失望,看来苹果是铁了心往扁平化UI走了。看好我的614,保存好SHSH准备
1 今天早上看到新闻,iOS7Beta4放出了,于是赶紧,在家下载,网速很快.(要是在公司,那50K的速度,估计会疯的) 2 等了一会儿一直在提示准备安装,不等了,再等该迟到了. 3 路上实在忍不住, ...
- 【Android Studio】安卓开发初体验3.1——UI设计之常用控件
常用控件 首先对xml文件的编辑有三种模式 Code为纯代码 Split是一边代码,一边预览效果图 Designer就是有UI设计界面 TextView 用于在界面上显示一段文本信息 所有控件都可以在 ...
- 扁平化设计五大原则(转自CSDN翻译)
Cousins表示他虽然对扁平化设计的感觉非常强烈,但并没有特别热爱或者特别讨厌扁平化设计.他认为好的设计不应当局限于某种设计风格,而需要更注重可用性.有用性.如果因为时尚的缘故,那就顺其自然吧.但该 ...
- 怎样做出优秀的扁平化设计风格 PPT 或 Keynote 幻灯片演示文稿?(装)
不知道你有没有想过,为什么很人多的扁平化 PPT 是这个样子: 或者是这样: 然而,还有一小撮人的扁平化 PPT 却拥有那么高颜值: 为什么会产生这么大的差距呢?丑逼 PPT 应该如何逆袭成为帅逼呢? ...
- AppBox升级进行时 - 扁平化的权限设计
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. AppBox v2.0中的权限实现 AppBox v2.0中权限管理中涉及三个 ...
随机推荐
- JavaScript变量提升(Hoisting)的小案例
变量提升(Hoisting)的小案例 执行以下代码的结果是什么?为什么? 答案 这段代码的执行结果是undefined 和 2. 这个结果的原因是,变量和函数都被提升(hoisted) 到了函数体的顶 ...
- JavaScript div 上下运动实例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- [React] Understanding setState in componentDidMount to Measure Elements Without Transient UI State
In this lesson we'll explore using setState to synchronously update in componentDidMount. This allow ...
- bzoj-1492 货币兑换Cash (1)——平衡树维护凸包
题意: 有n天和m的初始金钱,用来购买AB两种纪念券: n天里每天都有AB的价格.每天能够进行这种操作. 1.卖出手中x%的纪念券(AB分别都卖出x%). 2.用x的金钱买入纪念券.买入AB券的比例在 ...
- 大话设计模式C++实现-第17章-适配器模式
一.UML图 关键词:Client须要Request()函数,Adaptee提供的是SpecificRequest()函数,Adapter提供一个Request()函数将Adaptee和Specifi ...
- 一分钟了解Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi
DPI:每英寸像素数 简单的屏幕分辨率计算方法: DisplayMetrics metrics = this.getResources().getDisplayMetrics(); float den ...
- [JZOJ 5894] [NOIP2018模拟10.5] 同余方程 解题报告(容斥)
题目链接: http://172.16.0.132/senior/#contest/show/2523/0 题目: 题解:(部分内容来自https://blog.csdn.net/gmh77/arti ...
- 关于javascript 与iOS交互的简单使用
关于导入 JavaScriptCore 这个就不说了 js交互我们首先用到webView与webView的代理 基本上是很简单,,不过后台10分的坑 以下是代码 在webView的加载完成里面 fun ...
- CCS+C6678LE开发记录11:多核协作(IPC)入门
为更好地发挥C6678的多核性能,需要用到多核协作.幸运的是,我们可以使用官方提供的IPC模块. IPC=Inter-Processor Communication, 核间通信,粗略来说就是多核之间进 ...
- 你不知道的JavaScript(五)内置对象模版
尽管JavaScript中有对象的概念,但一般我们并不说JavaScript是面向对象的编程语言,因为它不具备面向对象的一些最基本特征. 在c++/Java等这些面向对象的编程语言中,我们要定义一个对 ...