收藏本站 收藏本站
积木网首页 - 技术学院 - 软件测试 - 网站黄页 - 常用手册 - 站长工具 - 技术社区
首页 > Android > Android技巧 > 正文

首页 - PHP - 数据库 - 操作系统 - 游戏开发 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell编程 - DOS命令 - jQuery - CSS样式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

Android 官方百分比适配库

Android Percent Support Lib 概述

由于 Android 机型种类众多,屏幕的碎片化也非常的严重。这对于 UI 布局的适配来说也是非常麻烦的一个事情。一种做法是:以不同分辨率建立相对应的一套 UI——重复运动而且增加 APK 的大小。另一种就是在 LinearLayout 布局中使用 layout_weight 属性来实现按比例来适配—— Google 并不提倡使用 weight 权重,因为这样会在加载布局时造成大量的计算,影响性能。

现在好了,Google 官方公布了一个类似于 CSS 的百分比来布局的库(android.support.percent)。使用百分比来做 UI 布局,学会使用这个库进行布局,真是一劳永逸啊。

效果图

以下手机分辨率分别是:480*840、768*1280、1080*1920、1440*2560。可以看到只是用一个 layout 文件就能达到很好的适配效果。
查看图片查看图片查看图片查看图片

支持的布局与属性

支持如下布局(顾名思义就能知道对应的是哪些原布局):

PercentRelativeLayout PercentLinearLayout(这可是Hongyang哥提供的哟) PercentFrameLayout

支持的如下属性:

heightPercent widthPercent marginBottomPercent marginEndPercent marginLeftPercent marginPercent marginRightPercent marginStartPercent marginTopPercent 如何使用

首先需要满足如下要求:

Android SDK v22 Android Build Tools v22.0.1 Android Percent Support Repository v22.2.0 Android Support v4 Repository v22.2.0

然后在 build.gradle 下添加:

dependencies {
    compile 'com.android.support:percent:22.2.0'
}

具体代码如下:

<?xml version="1.0" encoding="utf-8"?>
<android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <View
        android:id="@+id/view1"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@color/accent_material_light"
        app:layout_heightPercent="25%"
        app:layout_widthPercent="70%" />

    <View
        android:id="@+id/view2"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_alignParentRight="true"
        android:background="#E91E63"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="30%" />

    <View
        android:id="@+id/view3"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_below="@id/view1"
        android:background="#2196F3"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="70%" />

    <View
        android:id="@+id/view4"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_alignParentRight="true"
        android:layout_below="@id/view2"
        android:background="#FF9800"
        app:layout_heightPercent="80%"
        app:layout_widthPercent="30%" />

    <View

        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_below="@id/view3"
        android:background="#F44336"
        app:layout_heightPercent="25%"
        app:layout_widthPercent="70%" />

</android.support.percent.PercentRelativeLayout>

版权声明:本文为博主原创文章,未经博主允许不得转载。

谈谈Android 程序框架设计
做第一个项目的时候,自己组织结构和设计,最后效果实现了,但是发现自己写的代码和架构真的是太乱了,所以我觉得要有一个规划的目标,让自己

Android通过HttpURLConnection获取JSON并进行UI更新
本例子中使用的是:HttpURLConnectionThreadHandler的组合,在newThread中通过HttpURLConnection获取JSON数据后并在Handler里对UI界面进行更新。也可以用过HttpClient,Asyn

Android闹钟程序
使用AlarmManager.setRepeating();方法,利用PendingIntent来做。这就是思路。使用数据库:http://dldx.csdn.net/fd.php?i=977981985179703s=bf4414aa819483287446ef7e24b0edbb这个例子

本周排行

更新排行

强悍的草根IT技术社区,这里应该有您想要的! 友情链接:b2b电子商务
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号