【问题标题】:Width not filling all of the LinearLayout宽度没有填满所有的 LinearLayout
【发布时间】:2014-12-02 18:20:22
【问题描述】:

这是我第一次使用 android 设计,所以请耐心等待。这个项目不是我做的,我只是很累修复一些错误,所以有时很难改变一些东西,因为很多东西已经“在一起”了。

我有一个 Master_Layout,它分为一个片段和一个 FrameLayout。我的 ListRows 布局将显示在 MasterLayout 的左侧。然后我有一个 Details_Header_Layout 和 Details_Layout 显示在右侧。这里的问题是我无法在右侧获得整个宽度,这就是为什么我的滚动条不在最右边,对吧?这是显示问题的图像:https://www.dropbox.com/s/ciyf4rbh4ogvikr/scr.png?dl=0

愚蠢的是,在“调整”选项卡上,我有相同的布局代码(但我没有调整的标题布局),您在左侧选择一些数据,右侧显示详细信息.在调整选项卡上一切正常,我有整个宽度,滚动条在最右边!

您能告诉我测量数据布局是否有任何问题吗?我不明白,因为和调整一样。

主布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/white">
    <fragment
        class="AppMobile.Android.DataMemoryMasterFragment"
        android:id="@+id/data_memory_master"
        android:layout_weight="1"
        android:layout_width="10dp"
        android:layout_height="match_parent" />
    <FrameLayout
        android:id="@+id/data_memory_details"
        android:layout_weight="1"
        android:layout_width="50dp"
        android:layout_height="match_parent" />
</LinearLayout>

详细布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/datamemory_detail_layout"
    android:background="@color/white" />

详细标题布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/DataMemory_Detail_Header_Layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:background="@color/white">
    <ImageView
        android:id="@+id/datamemory_details_state"
        android:layout_width="52dp"
        android:layout_height="52dp"
        android:src="@drawable/Data_Memory_OK"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="10dp" />
    <TextView
        android:id="@+id/datamemory_details_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="32"
        android:textColor="@color/btn_normal_text"
        android:textSize="26sp"
        android:layout_centerHorizontal="true"
        android:layout_toRightOf="@+id/datamemory_details_state"
        android:paddingLeft="20dp"
        android:layout_alignBaseline="@+id/datamemory_details_state"
        android:paddingTop="5dp"
        android:layout_marginTop="10dp" />
    <TextView
        android:id="@+id/datamemory_details_samplename"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Samplename"
        android:textColor="@color/btn_normal_text"
        android:textSize="26sp"
        android:gravity="fill"
        android:layout_toRightOf="@+id/datamemory_details_id"
        android:paddingLeft="20dp"
        android:paddingTop="5dp"
        android:layout_marginTop="10dp" />
</RelativeLayout>

【问题讨论】:

    标签: android width android-linearlayout fill


    【解决方案1】:

    试试这个: 详细标题布局:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/DataMemory_Detail_Header_Layout"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:background="@color/white">
    <ImageView
        android:id="@+id/datamemory_details_state"
        android:layout_width="52dp"
        android:layout_height="52dp"
        android:src="@drawable/Data_Memory_OK"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="10dp" />
    <TextView
        android:id="@+id/datamemory_details_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="32"
        android:textColor="@color/btn_normal_text"
        android:textSize="26sp"
        android:layout_centerHorizontal="true"
        android:layout_toRightOf="@+id/datamemory_details_state"
        android:paddingLeft="20dp"
        android:layout_alignBaseline="@+id/datamemory_details_state"
        android:paddingTop="5dp"
        android:layout_marginTop="10dp" />
    <TextView
        android:id="@+id/datamemory_details_samplename"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Samplename"
        android:textColor="@color/btn_normal_text"
        android:textSize="26sp"
        android:gravity="fill"
        android:layout_toRightOf="@+id/datamemory_details_id"
        android:paddingLeft="20dp"
        android:paddingTop="5dp"
        android:layout_marginTop="10dp" />
    

    主布局:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="fill_parent"
    android:background="@color/white">
    <fragment
        class="AntonPaarMobile.Android.DataMemoryMasterFragment"
        android:id="@+id/data_memory_master"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent" />
    <FrameLayout
        android:id="@+id/data_memory_details"
        android:layout_weight="4"
        android:layout_width="0dp"
        android:layout_height="match_parent" />
    

    详细布局:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="fill_parent"
    android:id="@+id/datamemory_detail_layout"
    android:background="@color/white" />
    

    【讨论】:

    • 为什么不花时间解释一下您在布局 xml 中更改了什么以及为什么更改了某些内容。你现在只是分发一些代码。 OP 应该如何从中学习?
    • 不行,设计视图中的细节布局变成全黑了。
    • 你是对的。你只需要比较 android:layout_width,android:layout_weight 的值来回答这个问题,找出错误。
    • 对不起,我没听懂你说的。我只需要比较 android:layout_width 和 android:layout_weight 的值是什么?
    • 我回答了 Daniel Martinus。
    【解决方案2】:

    我发现了错误!布局还行!

    这样做的人,在 OnCreateView 方法上,他们正在做一个带有包装内容的“新 LinearLayout..”。只需删除那行代码,现在我的右侧就有了整个宽度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-27
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 2017-03-07
      • 2016-04-19
      • 1970-01-01
      相关资源
      最近更新 更多