linearlayout-android UI布局中layout_weight的问题,请高人指教

问题描述

android UI布局中layout_weight的问题,请高人指教

当我把占比例0.45的LinearLayout的visibility 设置为gone后,占比例为0.55的linearlayout就会占满全屏,请高人指教。
<?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:baselineAligned="false"
android:orientation="horizontal" >

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_margin="15dp"
    android:layout_weight="0.55"
    android:gravity="right"
    android:orientation="vertical"
    android:paddingTop="50dp" >

    <!--  <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >  -->

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:layout_marginTop="15dp" >

            <CheckBox
                android:id="@+id/rbtn_pedicure"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                 />
        </FrameLayout>

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginTop="15dp"
            android:layout_weight="1" >

            <CheckBox
                android:id="@+id/rbtn_thermal_method"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                 />
            <!-- android:paddingRight="1dp" -->
        </FrameLayout>

</LinearLayout>

<ImageView
    android:id="@+id/img_divider"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:scaleType="fitXY"
    android:text="devider" />

<LinearLayout
    android:id="@+id/layout_music"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.45"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:layout_marginTop="15dp"
    android:paddingTop="50dp"
    android:visibility="gone"  出疑问的地方
    >
    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"
        >
        <ImageView
            android:id="@+id/music_play"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:scaleType="fitXY"
            />
    </FrameLayout>

</LinearLayout>

解决方案

GONE除开不显示以外,所占用的区域也不会分配,所以剩下的区域是另一个独占了

解决方案二:

gone改为invisible即可

解决方案三:

layout_weight不是百分之一百等分,是根据所有设置的权重来分配占比的。
详细可以看看。
http://blog.csdn.net/zzf112/article/details/7034412

解决方案四:

感谢各位的解答,万分感谢

时间: 2024-11-08 20:20:22

linearlayout-android UI布局中layout_weight的问题,请高人指教的相关文章

open-JNI 中多线程创建问题请各位指教

问题描述 JNI 中多线程创建问题请各位指教 大家好,我刚接触JNI开发,遇到一个多线程方面的问题,不知道哪位大神能够帮帮忙. 我在看别人写的代码,里面有一段如下: Int ret_val = 0; If((smd_dev_up = open(SMD_DEV_UP, O_RDWR)) <= 0) { Return -1; } If((smd_dev_down = open(SMD_DEV_down, O_RDWR)) <= 0) { Return -1; } If(blocking_write

Appium在Android UI测试中的应用实践

Android 测试工具与 Appium 简介 Appium 是一个 C/S 架构的,支持 Android/iOS Native, Hybrid 和 Mobile Web Apps 的测试框架,与测试程序通过 Selenum Webdriver 协议通讯.Webdriver 的好处是通过 HTTP RPC 的方式调用 Server 上的过程,编写测试脚本不受语言的限制,无论是 Python, Java, NodeJS 均可以方便的编写测试.本文中将使用 Python 进行编程. 起因是因为市场部

Android UI布局问题总结

在做新行程项目期间,遇到了很多关于UI布局的问题,这里总结一部分,都是一些小细节,希望能加深理解,以后少走弯路. 一 页面唤起后view创建完成的时间     Activity的生命周期为下图所示:     Activity在onCreate中使用setContentView()方法中载入xml布局,那么布局中的view是在何时完成创建的呢?在父布局中添加一个TextView,使用getLeft().getRight()方法获取TextView在父布局中的左右边界的位置,打印出来可以看到    

Android中使用GridView进行应用程序UI布局的教程_Android

0.简介GridView 和 ListView 有共同的父类:AbsListView,因此 GridView 和 ListView 具有一定 的相似性.GridView与ListView的主要区别在于:ListView只是在一个方向上分布:而 GridView则会在两个方向上分布. 与ListView类似的是,GridView也需要通过Adapter来提供显示的数据:开发者既可通 过SimpleAdapter来为GridView提供数据,也可通过开发 BaseAdaptei的子类来为GridVi

Android常见布局之线性布局

Android中比较常见的布局有线性布局(LinearLayout),表格布局(TableLayout),相对布局(RelativeLayout)及帧布局(FrameLayout). 线性布局是将其中的组件按照线性的,以垂直或者水平方向来布局,组件的布局方向可由orientation属性来控制,其具体值有水平(horizontal)及垂直(vertical).搞清楚布局以后,这玩意就的思考加练习,以各种方式在纸上进行画,或者在心里画,然后编写布局文件来练习,时间长了就自然而然的熟练了. 练习要求

向产品宣战——开发者眼中的Android UI Design

向产品宣战--开发者眼中的Android UI Design 准备了半个月,思考产品设计.交互设计,见证了公司的产品.UE和开发的撕逼,将自己的思考.感悟,整理成下文,谨代表广大程序猿,向设计狮.产品X开战.希望广大程序猿能够坚持贯彻Google的Material Design,切实认真负责的执行Android的设计思想,将MD设计带到产品中去,不做中国特色的App,将Android的开发风气带到正轨,树立正确的开发观.设计观. 希望广大程序猿朋友在博客后面留言.签名,规范Android设计.树

Android UI组件LinearLayout线性布局详解_Android

LinearLayout 线性布局,该布局的继承关系:   1. 什么是线性布局 通俗的说感觉起来和线有关,参照线的特点,有么是横向的,要么是竖向的. LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列(通过android:orientation属性来控制),按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失 2. 线性布局常用基本属性 - android:id - android:orientation - and

Android UI组件LinearLayout线性布局详解

LinearLayout 线性布局,该布局的继承关系: 1. 什么是线性布局 通俗的说感觉起来和线有关,参照线的特点,有么是横向的,要么是竖向的. LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列(通过android:orientation属性来控制),按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失 2. 线性布局常用基本属性 - android:id - android:orientation - andro

Android UI基本测验:线性布局

你已经阅读过了如何在Android使用线性布局.用这些包括线性布局控件的渐进测验来测试你的新知识,并且巩固你Java编程和Androidhttp://www.aliyun.com/zixun/aggregation/7236.html">用户界面设计与开发的知识. 准备 为了准备这个测验,你希望以一个基本的Android程序开始.你只需要在Eclipse中创建一个Android程序然后编辑它的默认活动(Activity),特别是onCreate()方法,就可以测试你为本次测验写的代码了.