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设计的更多相关文章

  1. 基于 Bootstrap 的扁平化 UI 开发包

    Flat UI是一款基于Bootstrap的扁平化前端UI工具包,Flat UI的组件外观设计非常清新和漂亮,Flat UI的组件包含按钮,输入框,组合按钮,复选框,单选按钮,标签,菜单,进度条和滑块 ...

  2. MahApps.Metro扁平化UI控件库(可修改主题色等)

    一.名词解释 使用MahApps.Metro扁平化UI控件库,可以使界面呈现更加美观.本文将总结MahApps.Metro的使用方法,及如何自定义修改其主题颜色等. 详细内容可参考官网:https:/ ...

  3. F2工作流引擎Web层全新扁平化UI上线

    特点:引入Bootstrap开源UI样式和fontawesome图标集 扁平化样式使用界面更舒服,按钮主题可快速定义更换,对于集成到业主系统UI图标更加丰富. 以下截取部分图片展示,更多请联系作者登录 ...

  4. 你会喜欢的25个创意的扁平化 LOGO 设计

    扁平设计的风暴席卷了整个设计领域,它不仅影响网页设计,也影响了用户界面和标志设计.最近,我们看到了很多大公司,如谷歌和必应开始使用扁平设计的标识. 一个 LOGO 应该简单,显眼和精美,以适应产品的整 ...

  5. iPhone4@iOS7Beta4,第一时间刷上,失望,看来苹果是铁了心往扁平化UI走了。看好我的614,保存好SHSH准备

    1 今天早上看到新闻,iOS7Beta4放出了,于是赶紧,在家下载,网速很快.(要是在公司,那50K的速度,估计会疯的) 2 等了一会儿一直在提示准备安装,不等了,再等该迟到了. 3 路上实在忍不住, ...

  6. 【Android Studio】安卓开发初体验3.1——UI设计之常用控件

    常用控件 首先对xml文件的编辑有三种模式 Code为纯代码 Split是一边代码,一边预览效果图 Designer就是有UI设计界面 TextView 用于在界面上显示一段文本信息 所有控件都可以在 ...

  7. 扁平化设计五大原则(转自CSDN翻译)

    Cousins表示他虽然对扁平化设计的感觉非常强烈,但并没有特别热爱或者特别讨厌扁平化设计.他认为好的设计不应当局限于某种设计风格,而需要更注重可用性.有用性.如果因为时尚的缘故,那就顺其自然吧.但该 ...

  8. 怎样做出优秀的扁平化设计风格 PPT 或 Keynote 幻灯片演示文稿?(装)

    不知道你有没有想过,为什么很人多的扁平化 PPT 是这个样子: 或者是这样: 然而,还有一小撮人的扁平化 PPT 却拥有那么高颜值: 为什么会产生这么大的差距呢?丑逼 PPT 应该如何逆袭成为帅逼呢? ...

  9. AppBox升级进行时 - 扁平化的权限设计

    AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. AppBox v2.0中的权限实现 AppBox v2.0中权限管理中涉及三个 ...

随机推荐

  1. THINKPHP实现搜索分页保留搜索条件

    使用tp自带的分页类时,里面自带了POST查询条件保留机制,但是之针对于普通的map一维数组,如果包含like,gt等等比较复杂的查询条件则力不从心了. 带入查询条件 如果是POST方式查询,如何确保 ...

  2. url中jsessionid的理解

    (1) 这是一个保险措施 因为Session默认是需要Cookie支持的 但有些客户浏览器是关闭Cookie的 这个时候就需要在URL中指定服务器上的session标识,也就是5F4771183629 ...

  3. 【codeforces 505D】Mr. Kitayuta's Technology

    [题目链接]:http://codeforces.com/problemset/problem/505/D [题意] 让你构造一张有向图; n个点; 以及所要求的m对联通关系(xi,yi) 即要求这张 ...

  4. Xshell 安装 Xftp

    一.下载 Xftp 链接:https://pan.baidu.com/s/1dGeL2gD 密码:as9x 二.安装 Xftp 无脑下一步 三.点击 Xshell 上的新建文件传输 四.弹出 xftp ...

  5. PL/SQL基本语法

    *2.PL/SQL基本语法   1)匿名块   一段不能在数据库存储的PL/SQL. 基本结构如下:   DECLARE     //变量的声明定义区域(可省略)   BEGIN     //业务处理 ...

  6. SELECT使用子查询

    SELECT使用子查询   SELECT使用子查询,该子查询会执行多次,  次数是由记录数量决定.效率比较低,不推荐使用.  //查询部门编号,工资大于等于2000的人数,  //工资小于2000的人 ...

  7. 苹果要求全部新app以及版本号更新必须支持iOS 8 SDK和64-bit

    2014年10月20日.苹果官方公布了一则新闻,新闻内容例如以下: Starting February 1, 2015, new iOS apps uploaded to the App Store ...

  8. virtio netdev的创建

    Linux眼下支持至少了8种虚拟化系统: Xen KVM VMware's VMI IBM's System p IBM's System z User Mode Linux lguest IBM's ...

  9. How to resolve unassigned shards in Elasticsearch——写得非常好

    How to resolve unassigned shards in Elasticsearch 转自:https://www.datadoghq.com/blog/elasticsearch-un ...

  10. 93.快速搭建Web环境 Angularjs + Express3 + Bootstrap3

    转自:https://www.cnblogs.com/wawahaha/p/3946023.html 前言 Angularjs越用越顺手,不仅代码量比jQuery少很多,而且实现思路特别清晰,构建大型 ...