zoukankan      html  css  js  c++  java
  • LinearLayout-控件不显示

    今天Mms遇到了一个问题,布局如下

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="45dp"
                    android:layout_marginTop="1dp" >

                               
                     <
    LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" > <LinearLayout android:id="@+id/mms_layout_view_parent" android:maxWidth="100dp" android:adjustViewBounds="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="14dp" android:background="@drawable/listitem_background_recv" android:gravity="left|center_vertical" android:orientation="vertical" > <TextView android:id="@+id/sender_name" style="@style/group_member_name_style" android:visibility="gone" /> <View android:id="@+id/sender_name_separator" style="@style/bubble_name_separator_style" android:visibility="gone" /> <TextView android:id="@+id/text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:autoLink="all" android:linksClickable="false" android:paddingLeft="5dp" android:textColor="#323232" android:textSize="14sp" /> <ViewStub android:id="@+id/mms_layout_view_stub" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout="@layout/mms_layout_view" android:paddingLeft="@dimen/message_item_text_padding_left_right" android:paddingRight="@dimen/message_item_text_padding_left_right" />
                             <TextView android:id="@+id/text_expire" android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:linksClickable="false" android:maxWidth="246dp" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="@color/text_expire_color" android:textSize="14sp" android:visibility="gone" > </TextView> <!-- file attachment view --> <ViewStub android:id="@+id/mms_file_attachment_view_stub" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:layout_marginLeft="6dp" android:layout_marginRight="8dp" android:layout_marginTop="3dip" android:layout="@layout/file_attachment_view" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:id="@+id/mms_all_status" android:layout_height="wrap_content" android:layout_toRightOf="@id/mms_layout_view_parent" android:layout_marginLeft="1dp" android:layout_centerVertical="true" android:orientation="horizontal" >
                            <TextView android:id="@+id/send_time_txt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:paddingLeft="10dip" android:textColor="#555555" android:textSize="10sp" android:visibility="gone" /> <!-- @} --> <!-- For show dual date @{ --> <LinearLayout android:id="@+id/double_time_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:gravity="center_vertical" android:orientation="horizontal" android:visibility="gone" > <TextView android:id="@+id/recv_time_img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:paddingLeft="10dip" android:textColor="#555555" android:textSize="10sp" /> <TextView android:id="@+id/recv_date_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:paddingLeft="4dip" android:textColor="#555555" android:textSize="10sp" />
                                 <TextView android:id="@+id/time_zone_txt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:paddingLeft="20dip" android:textColor="#555555" android:textSize="10sp" /> </LinearLayout> <!-- @} --> <ImageView android:id="@+id/delivered_indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center_vertical" android:paddingLeft="4dip" android:src="@drawable/ic_sms_mms_delivered" android:visibility="gone" /> <ImageView android:id="@+id/details_indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center_vertical" android:paddingLeft="4dip" android:src="@drawable/ic_sms_mms_details" android:visibility="gone" /> <ImageView android:id="@+id/locked_indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center_vertical" android:paddingLeft="4dip" android:src="@drawable/ic_lock_message_sms" android:visibility="gone" />     
                             <ImageView android:id="@+id/important_indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center_vertical" android:paddingLeft="4dip" android:src="@drawable/ic_important" android:visibility="gone" /> </LinearLayout> </LinearLayout> </RelativeLayout>

    你会发现这个布局存在两个问题,一个就是、

     <LinearLayout
                            android:id="@+id/mms_layout_view_parent"
                            android:maxWidth="100dp"
                            android:adjustViewBounds="true"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="14dp"
                            android:background="@drawable/listitem_background_recv"
                            android:gravity="left|center_vertical"
                            android:orientation="vertical" >

    maxwidth不起作用,另外一个就是

    你会发现

    <LinearLayout
                            android:layout_width="wrap_content"
                            android:id="@+id/mms_all_status"
                            android:layout_height="wrap_content"
                            android:layout_toRightOf="@id/mms_layout_view_parent"
                            android:layout_marginLeft="1dp"
                            android:layout_centerVertical="true"
                            android:orientation="horizontal" >

    它不会显示。具体原因不清出。

    我们想要实现的功能就是,让mms_all_status  里面的内容能够显示或者隐藏,而且它紧跟着 mms_layout_view_parent 后面,保持固定距离,虽然mms_layout_view_parent 的宽度是变化的。而当mms_layout_view_parent 达到最大宽度的时候,这时候 mms_layout_view_parent 不变,但mms_all_status 仍然可以显示

    更改如下

    其实非常的简单,就是当maxwidth 在LinearLayout下设定不起作用的时候,我们把这个属性放到linearLayout下的一个Textview 里面,就可以间接决定mms_layout_view_parent 的最大宽度了

    更改如下

    <LinearLayout
                        android:layout_marginTop="1dp"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal" >
                        <LinearLayout
                            android:id="@+id/mms_layout_view_parent"
                            android:adjustViewBounds="true"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="14dp"
                            android:background="@drawable/listitem_background_recv"
                            android:gravity="left|center_vertical"
                            android:layout_gravity="left|center_vertical"
                            android:orientation="vertical" >
    
                            <TextView
                                android:id="@+id/sender_name"
                                style="@style/group_member_name_style"
                                android:visibility="gone" />
    
                            <View
                                android:id="@+id/sender_name_separator"
                                style="@style/bubble_name_separator_style"
                                android:visibility="gone" />
    
                            <TextView
                                android:id="@+id/text_view"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:adjustViewBounds="true"
                             <!--关键-->
                                android:maxWidth="250dp"
                                android:autoLink="all"
                                android:linksClickable="false"
                                android:paddingLeft="5dp"
                                android:textColor="#323232"
                                android:textSize="14sp" />
    
                            <ViewStub
                                android:id="@+id/mms_layout_view_stub"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="center_horizontal"
                                android:layout="@layout/mms_layout_view"
                                android:paddingLeft="@dimen/message_item_text_padding_left_right"
                                android:paddingRight="@dimen/message_item_text_padding_left_right" />
                                <TextView
                                android:id="@+id/text_expire"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:adjustViewBounds="true"
                                android:linksClickable="false"
                                android:maxWidth="246dp"
                                android:textAppearance="?android:attr/textAppearanceSmall"
                                android:textColor="@color/text_expire_color"
                                android:textSize="14sp"
                                android:visibility="gone" >
                            </TextView>
                            <!-- file attachment view -->
    
                            <ViewStub
                                android:id="@+id/mms_file_attachment_view_stub"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="left"
                                android:layout_marginLeft="6dp"
                                android:layout_marginRight="8dp"
                                android:layout_marginTop="3dip"
                                android:layout="@layout/file_attachment_view" />
                        </LinearLayout>
    
                        <LinearLayout
                            android:layout_width="wrap_content"
                            android:id="@+id/mms_all_status"
                            android:layout_height="wrap_content"
                            android:gravity="left|center_vertical"
                            android:layout_gravity="left|center_vertical"
                            android:layout_marginLeft="1dp"
                            android:orientation="horizontal" >
    
                            <!-- For show dual date  @{ -->
    
                            <TextView
                                android:id="@+id/send_time_txt"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="left"
                                android:paddingLeft="10dip"
                                android:textColor="#555555"
                                android:textSize="10sp"
                                android:visibility="gone" />
                              <LinearLayout
                                android:id="@+id/double_time_layout"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="center_vertical"
                                android:gravity="center_vertical"
                                android:orientation="horizontal"
                                android:visibility="gone" >
    
                                <TextView
                                    android:id="@+id/recv_time_img"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="left"
                                    android:paddingLeft="10dip"
                                    android:textColor="#555555"
                                    android:textSize="10sp" />
    
                                <TextView
                                    android:id="@+id/recv_date_view"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="left"
                                    android:paddingLeft="4dip"
                                    android:textColor="#555555"
                                    android:textSize="10sp" />
    
                                <TextView
                                    android:id="@+id/time_zone_txt"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_gravity="left"
                                    android:paddingLeft="20dip"
                                    android:textColor="#555555"
                                    android:textSize="10sp" />
                            </LinearLayout>
                            <!-- @} -->
    
                            <ImageView
                                android:id="@+id/delivered_indicator"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="left|center_vertical"
                                android:paddingLeft="4dip"
                                android:src="@drawable/ic_sms_mms_delivered"
                                android:visibility="gone" />
                               <ImageView
                                android:id="@+id/locked_indicator"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="left|center_vertical"
                                android:paddingLeft="4dip"
                                android:src="@drawable/ic_lock_message_sms"
                                android:visibility="gone" />
    
                            <ImageView
                                android:id="@+id/important_indicator"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="left|center_vertical"
                                android:paddingLeft="4dip"
                                android:src="@drawable/ic_important"
                                android:visibility="gone" />
                        </LinearLayout>
    
                    </LinearLayout>
    
                <ViewStub
                    android:id="@+id/mms_downloading_view_stub"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:layout="@layout/mms_downloading_view" />
            </LinearLayout>
        </LinearLayout>
  • 相关阅读:
    Web学习之css
    Spring学习之第一个hello world程序
    MySQL基础学习总结
    Jmeter参数化
    mysql慢查询解析-linux命令
    mysql慢查询
    mysql_存储引擎层-innodb buffer pool
    mysql_Qcahce
    memocached基础操作
    Memcached安装配置
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_LinearLayout_150303205.html
Copyright © 2011-2022 走看看