android 屏幕适配攻略 weight 注意点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 屏幕适配攻略 weight 注意点相关的知识,希望对你有一定的参考价值。

 

 

使用weight控制两个按钮在水平方向 1:2

  水平方向:layout_width = "0dp"

  使用weight属性

<?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="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="wrap_content"
        android:text="Button2" />

</LinearLayout>

 

稍作改变:将layout_width = "match_parent"

<?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="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_weight="2"
        android:layout_height="wrap_content"
        android:text="Button2" />

</LinearLayout>

两者效果对比

技术分享

只是改变了layout的值, 导致两种显示不同

控件的实际宽度如何计算:

宽度 = 原来宽度 + 剩余宽度的百分比;

通俗来说的是:

  宽度 = layout_weight定义的宽度 + (屏幕宽度 - 两个组件layout_weight的宽度)* 百分比

假设屏幕宽度为L

对于layout_width = "0dp"

  button1 : =  0dp + (L-0dp-0dp)* 1/3 = 1/3L

  button2 :  =   0dp +  (L - 0dp - 0dp) * 2/3  = 2/3L

layout_width="match_parent"的话  原来宽度为L

  button1 = L + (L - (L+L))*1/3 = L - 1/3L = 2/3L

  button2 = L + (L -(L+L))*2/3 = L - 2/3L = 1/3L

 

以上是关于android 屏幕适配攻略 weight 注意点的主要内容,如果未能解决你的问题,请参考以下文章

Android屏幕适配全攻略(最权威的Google官方适配指导)

Android屏幕适配全攻略(最权威的官方适配指导)

Android屏幕适配全攻略(最权威的官方适配指导)

android屏幕适配的全攻略

android 屏幕适配攻略 核心概念与单位详解

Android适配全攻略(学习笔记总结)