Android适配--百分比的适配

首先,需要添加com.android.support:percent:24.1.1 包,版本随意。

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    testCompile ‘junit:junit:4.12‘
    compile ‘com.android.support:appcompat-v7:24.1.1‘
    compile ‘com.android.support:percent:24.1.1‘
}

}

  这个包给我们提供了PercentRelativeLayout以及PercentFrameLayout两种布局,

  支持的属性有layout_widthPercentlayout_heightPercent、 
  layout_marginPercentlayout_marginLeftPercent、 
  layout_marginTopPercentlayout_marginRightPercent、 
  layout_marginBottomPercentlayout_marginStartPercentlayout_marginEndPercent

     大概的内容就有这些,下面贴上一段代码及效果图

<?xml version="1.0" encoding="utf-8"?>
<android.support.percent.PercentRelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context="com.example.administrator.mingyishijia.LoginActivity">
    <android.support.v7.widget.Toolbar
        xmlns:app="http://schemas.android.com/apk/res-auto"
        app:navigationIcon="@mipmap/left_back_gray_icon"

        android:id="@+id/activity_main_toolbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:minHeight="?attr/actionBarSize"
        android:background="?attr/colorPrimary"></android.support.v7.widget.Toolbar>

    <EditText
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="8%"
        app:layout_widthPercent="70%"
        android:background="@drawable/usereditor_background"
        android:id="@+id/userName"
        android:gravity="center"
        android:layout_below="@+id/activity_main_toolbar"
        app:layout_marginTopPercent="10%"
        android:layout_centerHorizontal="true"
        android:hint="请输入账号"/>
    <EditText
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="8%"
        app:layout_widthPercent="70%"
        android:background="@drawable/usereditor_background"
        android:id="@+id/password"
        android:layout_below="@+id/userName"
        android:gravity="center"
        app:layout_marginTopPercent="2%"
        android:layout_centerHorizontal="true"
        android:hint="请输入密码"/>
    <Button
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="8%"
        app:layout_widthPercent="70%"
        android:background="@drawable/login_button_background"
        android:id="@+id/login"
        android:layout_below="@+id/password"
        android:text="登    录"
        android:textSize="18sp"
        android:textColor="#ffffff"
        android:layout_centerHorizontal="true"
        app:layout_marginTopPercent="5%" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/forgetPassword"
        android:layout_below="@+id/login"
        android:layout_alignLeft="@+id/login"
        app:layout_marginTopPercent="2%"
        android:text="忘记密码"
        android:textSize="12sp"
        android:textColor="#1a81ff"/>
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_widthPercent="90%"
        android:id="@+id/l1"
        android:orientation="horizontal"
        android:clickable="false"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/forgetPassword"
        app:layout_marginTopPercent="5%">
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#000000"
            android:layout_weight="1.1"
            android:layout_gravity="center"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="或使用以下方式登录"
            android:textSize="12sp"
            android:gravity="center"/>
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#000000"
            android:layout_weight="1.1"
            android:layout_gravity="center"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="15%"
        app:layout_widthPercent="75%"
        android:layout_centerHorizontal="true"
        android:orientation="horizontal"
        android:layout_below="@+id/l1"
        app:layout_marginTopPercent="5%"
        android:id="@+id/linearLayout">
        <android.support.percent.PercentRelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <ImageView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_heightPercent="60%"
                app:layout_widthPercent="100%"
                android:scaleType="fitCenter"
                android:id="@+id/iv1"
                android:src="@mipmap/weixin"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_heightPercent="40%"
                app:layout_widthPercent="100%"
                android:layout_below="@+id/iv1"
                android:text="微信"
                android:gravity="center"/>
        </android.support.percent.PercentRelativeLayout>
        <android.support.percent.PercentRelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <ImageView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_heightPercent="60%"
                app:layout_widthPercent="100%"
                android:scaleType="fitCenter"
                android:id="@+id/iv2"
                android:src="@mipmap/aqq1"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_heightPercent="40%"
                app:layout_widthPercent="100%"
                android:layout_below="@+id/iv2"
                android:text="QQ"
                android:gravity="center"/>
        </android.support.percent.PercentRelativeLayout>
        <android.support.percent.PercentRelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <ImageView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_heightPercent="60%"
                app:layout_widthPercent="100%"
                android:scaleType="fitCenter"
                android:id="@+id/iv3"
                android:src="@mipmap/dingding"
                />
            <TextView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_heightPercent="40%"
                app:layout_widthPercent="100%"
                android:layout_below="@+id/iv3"
                android:text="钉钉"
                android:gravity="center"/>
        </android.support.percent.PercentRelativeLayout>

    </LinearLayout>

</android.support.percent.PercentRelativeLayout>

        

时间: 2024-12-16 04:30:22

Android适配--百分比的适配的相关文章

美团Android自动化之旅—适配渠道包

概述 前一篇文章(美团Android自动化之旅-生成渠道包)介绍了Android中几种生成渠道包的方式,基本解决了打包慢的问题. 但是,随着渠道越来越多,不同渠道对应用的要求也不尽相同.例如,有的渠道要求美团客户端的应用名为美团,有的渠道要求应用名为美团团购.又比如,有些渠道要求应用不能使用第三方统计工具(如flurry).总之,每次打包都需要对这些渠道进行适配. 之前的做法是为每个需要适配的渠道创建一个Git分支,发版时再切换到相应的分支,并合并主分支的代码.适配的渠道比较少的话这种方式还可以

Android 多分辨率多屏幕适配

请参见文章:http://blog.csdn.net/jiangxinyu/article/details/8598046 文章描述非常清晰. Android 多分辨率多屏幕适配

Android面试题-机型适配之痛,例如三星、小米、华为、魅族等。

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Android面试题-机型适配之痛,例如三星.小米.华为.魅族等. - 所有技术文章里面全部配置了配套视频 - 博客频道 - CSDN.NET 所有技术文章里面全部配置了配套视频 https://github.com/open-android/Android 目录视图 摘要视

Android通知栏介绍与适配总结

由于历史原因,Android在发布之初对通知栏Notification的设计相当简单,而如今面对各式各样的通知栏玩法,谷歌也不得不对其进行更新迭代调整,增加新功能的同时,也在不断地改变样式,试图迎合更多人的口味.本文总结了Android通知栏的版本迭代过程,在通知栏开发过程中所遇到的各种各样的坑,以及一些解决技巧,特别的,对于大众期盼的Android 7.0的到来,通知栏又会发生怎样的改变呢?接下来一一进行介绍. Android通知栏发展历史 首先来看一张各个Android版本通知栏消息的全家福

Android P的APP适配总结,让你快人一步

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由QQ音乐技术团队发表于云+社区专栏 上篇:Android P 行为变更适配 Android P 这次有很多行为变更,其中不乏一些需要亟需适配的变更. 一.全面屏检测 在 Android 8.0 时代各个手机厂商就开始发布自己的全面屏手机,但是此时 Android 官方并未支持到该功能,所以各个厂商都各自实现了一套全面屏判断逻辑,对于开发者来说甚是麻烦.终于在 Android P 里官方收归了该功能的判断逻辑,Android P 和

AndroidAutoLayout全新的适配方式堪称适配终结者(转载)

AndroidAutoLayout全新的适配方式堪称适配终结者 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49990941: 本文出自:[张鸿洋的博客] 一.概述 相信Android的开发者对于设配问题都比较苦恼,Google官方虽然给出了一系列的建议,但是想要单纯使用这些建议将设备很轻松的做好,还是相当困难的.个人也比较关注适配的问题,之前也发了几篇关于适配的文章,大致有: Android 屏幕适配方案 Android

Android 透明度百分比对应的 十六进制

Android 透明度百分比对应的 十六进制 先把结果放在这里,方便大家查询,也方便自己,UI太喜欢用百分比表示了=.=! 透明度百分比对应的十六进制: (说明:百分比计算出来会有小数,按照常规的四舍五入处理,详情请往下查看) 百分比:0% HEX: 00 百分比:1% HEX: 30 百分比:2% HEX: 50 百分比:3% HEX: 80 百分比:4% HEX: A0 百分比:5% HEX: D0 百分比:6% HEX: F0 百分比:7% HEX: 12 百分比:8% HEX: 14 百

iOS6和iOS7代码的适配(3)——坐标适配

由于iOS7里面status bar和视图是重叠在一起了,所以应用的y坐标就没法和以前一致了,需要重新计算设定.基本上,你的应用用Xcode5运行一下就能看见这个问题,这里写了一个最简单的例子,一个View上加了一个Label控件,分别在iOS6和iOS7的模拟器上的样子. 从图上明显可以看到,iOS7上的应用y坐标起始计算点是从屏幕顶点算起,而iOS6是从status bar来算起,这个原因是导致一切问题的根源. 好了,找到了问题就好办,我列举一下看到过的尝试过的方法: 1. 修改window

Android AutoLayout全新的适配方式 堪称适配终结者

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49990941: 本文出自:[张鸿洋的博客] 一.概述 相信Android的开发者对于设配问题都比较苦恼,Google官方虽然给出了一系列的建议,但是想要单纯使用这些建议将设备很轻松的做好,还是相当困难的.个人也比较关注适配的问题,之前也发了几篇关于适配的文章,大致有: Android 屏幕适配方案 Android 百分比布局库(percent-support-lib) 解析与