宽度未填充所有LinearLayout

时间:2014-12-01 13:51:13

标签: android width android-linearlayout fill

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

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

a

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

您能否告诉我,我的测量数据布局是否有任何问题?我不明白,因为与调整相同。

主要布局:

<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>

2 个答案:

答案 0 :(得分:0)

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

<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" />

答案 1 :(得分:0)

我发现了错误!布局还可以!

这样做的人,在方法OnCreateView上,他们正在使用换行内容进行“新的LinearLayout ..”。只需删除该行代码,现在我的整个宽度就在右侧。