Android 仿Windows Metro 界面UI

虽然自己对windows Phone没有太大的兴趣,但是不得不说很喜欢Metro的这种风格。Metro是由微软公司开发的内部名称为"typography-based design language"(基于排版的设计语言),起初基于瑞士平面设计的设计原则,界面以大号文字和图片为主要元素来吸引用户的注意力,其设计理念来源于交通局巴士站牌,机场和地铁的指示牌。他的图标设计不同于Android和ios的纯桌面图标,主要有一下特点:

1. 干净、轻量、开放、快速
2. 要内容,而不是质感
3. 整合软硬件
4. 世界级的动画
5. 生动,有灵魂

确实当第一次看见的时候会给人视觉上耳目一新的一种冲击感觉,反正我个人是比较喜欢这个风格,闲来无事的时候做了一个简单仿Metro的UI布局,真的仅仅是仿UI布局而已,没有太多的技术性的东西,个人很喜欢研究UI 的东西,下面分享一下这个简单的Demo,或许以后会用到这种效果。

想法很简单,布局采用LinearLayout来实现(比较喜欢这个布局,在UI之前要有全局考虑的思想,操作起来比较简单),每一个菜单都是一个Linear块,内部是一个ImageView和一个TextView;一共做了两个界面点击互相切换,下面是效果截图:

由于每个Linear块的属性配置都差不多很相似,所以提取出来做成了统一的style,在XML文件中引用则更方便一些

下面是UI设计的布局文件代码片段:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        android:padding="20dp" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <LinearLayout style="@style/menu_item_block_orange">
                <ImageView style="@style/menu_item_img" android:src="@drawable/menu_icon_mail" />
                <TextView style="@style/menu_item_txt" android:text="短信息" />
            </LinearLayout>

            <LinearLayout style="@style/menu_item_block_orange" android:layout_marginLeft="5dp" >
                <ImageView style="@style/menu_item_img" android:src="@drawable/menu_icon_calendar" />
                <TextView style="@style/menu_item_txt" android:text="日历" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:orientation="horizontal" >

            <LinearLayout style="@style/menu_item_block_orange">
                <ImageView style="@style/menu_item_img" android:src="@drawable/menu_icon_phone" />
                <TextView style="@style/menu_item_txt" android:text="电话" />
            </LinearLayout>

            <LinearLayout style="@style/menu_item_block_orange" android:layout_marginLeft="5dp">
                <ImageView style="@style/menu_item_img" android:src="@drawable/menu_icon_gmail" />
                <TextView style="@style/menu_item_txt" android:text="Gmail" />
            </LinearLayout>
        </LinearLayout>												......................										

每个Linear没有添加具体的点击事件,可以根据自己的需要来进行添加,先留个底存档,或许以后做项目中可以用到类似的UI界面。

一个仿安卓5.0任务管理器最近打开任务卡片效果的自定义布局。项目地址:https://github.com/ZieIony/MaterialRecents 效果图:如何使用:创建实例2. 设置adapterRecentsList recents = (RecentsList) this.findViewById(R.id.recents); recents.setAdapter(new RecentsAdapter() {             @Override             public String getTitle(int position) {//标题名称                 return "Item "   position;             }             @Override             public View getView(int position) {//内容                 ImageView iv = new ImageView(RecentsActivity.this);                 iv.setImageResource(R.drawable.mazda);                 iv.setBackgroundColor(0xffffffff);                 return iv;             }             @Override             public Drawable getIcon(int position) {//图标                 return getResources().getDrawable(R.drawable.ic_launcher);             }             @Override             public int getHeaderColor(int position) {//header颜色                 return colors[random.nextInt(colors.length)];             }             @Override             public int getCount() {//卡片个数                 return 10;             }         });另外,实例中用到了support v7中的cardview。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值