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

转载于:https://www.cnblogs.com/llguanli/p/7039327.html

android 自己定义标签的使用,实现扁平化UI设计相关推荐

  1. android ui 扁平化,android 自定义标签的使用,实现扁平化UI设计

    2014年8月6日11:06:44 android对自定义标签的使用,实现扁平化UI设计: 1.attrs.xml文件中自定义标签 如: //reference指的是是从string.xml引用过来 ...

  2. UI实用素材|扁平化UI设计模板,UI设计师都要会!

    在当今信息爆炸的文化背景下,人们每天要通过过手机APP接触巨大的信息流,然后再持续的进行评估.过滤并且再加工,具有认知上的负担,扁平化UI设计更加适合信息碎片化的传递方式. 扁平化的UI设计通过将有效 ...

  3. 移动端APP扁平化UI设计解析

    在当今信息爆炸的文化背景下,人们每天都会通过手机APP接触到巨大的信息流,然后再持续的进行评估.过滤并且再加工,具有认知上的负担,扁平化UI设计更加适合信息碎片化的传递方式. 移动端APP扁平化UI设 ...

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

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

  5. 扁平化ui设计界面的方式以及扁平化ui图标设计特点

    扁平化是近两年手机图标设计发展的一种趋势,因此作为一名全栈UI设计师,扁平化ui设计界面的方式以及扁平化ui图标设计特点还是非常熟悉的.今天就跟大家谈谈扁平化ui设计界面的方式以及扁平化ui图标设计特 ...

  6. 视觉冲击!12个精美绝伦的扁平化网站设计

    越来越多的人崇尚简单,简约的扁平化设计风格.扁平化设计对于印刷品设计.网页设计和移动操作系统的设计来都带去了新的变化.扁平化网页设计是指设计形式摒弃图案纹理背景,阴影文字以及网站盒模型的部分. 下面手 ...

  7. 2016扁平化图标设计如何做太原UI设计师郭文军讲

    2016扁平化图标设计如何做太原UI设计师郭文军讲 造型 1.主要方法 堆叠法 切割法 2.主要原则 偶数 同层运算 选取对齐 尽量不引入新的形状 做U不做V 3.注意点 1.大小一致 2.风格统一 ...

  8. 视频教程-【吴刚】UI扁平化图标设计初级入门标准教程-UI

    [吴刚]UI扁平化图标设计初级入门标准教程 业内知名UID.UED.用户体验.品牌策略与创意设计师,十三年行业职业教育培训经验,业内"UI视频第一人",教学总监.视觉设计讲师. A ...

  9. 产品经理内功修炼——扁平化交互设计技巧

    交互设计扁平化 前言 自IOS7风格横空出世后,扁平化设计就深受设计师追捧并成为大势所趋,扁平化成为视觉设计的普遍标准之一,然而仔细想想,扁平化设计真的只是视觉设计师的工作吗? 其实扁平化不仅仅是界面 ...

最新文章

  1. 微软以后要是也开源也免费,java还竞争过.NET吗?
  2. 经典再读 | NASNet:神经架构搜索网络在图像分类中的表现
  3. ECCV2020 最佳论文提名 | 流感知技术
  4. React 项目--引入bebal 解析JSX(5)
  5. 南岸焊接机器人厂_焊接技术的发展历史,世界焊接发展200年回顾,你了解焊接吗?...
  6. [转]sudoers设置
  7. common Lisp学习笔记(十二)
  8. .NET Core IdentityServer4实战 第Ⅴ章-单点登录
  9. 关于gui的skinnableContainer的一点问题
  10. 汇编语言mul指令_跟着开源软件学汇编语言:计算器
  11. 序列化与反序列化_分布式系统基础之序列化和反序列化
  12. 关于RDP报表工具参数配置
  13. 简单一码付:将支付宝和微信的收款二维码合并为一个二维码
  14. 微信抢红包插件 English Version
  15. 私服玉兔元素服务器在哪个网站,1.85玉兔元素服务端
  16. 基于Spring Boot企业微信点餐系统项目总结
  17. 线程 线程的创建与回收
  18. Bottle的插件与view装饰器冲突问题
  19. 论文阅读——A Deep Learning Design for improving Topology Coherence in Blood Vessel Segmentation
  20. Hive第一天——Hive介绍以及简单使用

热门文章

  1. 软件测试面试技巧|项目常识篇
  2. 快速掌握 10 个 HTML5 必备技巧
  3. 2020年了,JavaScript依然是前端最受欢迎的语言吗?
  4. 水泵怎么做_燃气壁挂炉初次调试,要怎么做才好?
  5. c语言写os 编译器,你真的懂''Hello world''吗?从编译器到OS内核系列:编译器基本概念...
  6. Qt_发送邮件(以qq邮箱为例)
  7. Ubuntu18.04全命令行在3090显卡上安装pytorch环境
  8. Python将txt文件变为excel文件
  9. 命令行调用dubbo服务
  10. Pytorch 其它有关Tensor的话题,GPU,向量化