簡體   English   中英

獲得不必要的保證金

[英]Getting unwanted margin

我有以下XML:

對於列表視圖:-

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:weightSum="1">
    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/state_listView"
        android:layout_weight="0.8"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="40dp"
        android:fastScrollEnabled="true"
        android:layout_toStartOf="@+id/side_index" />
    <LinearLayout
        android:id="@+id/side_index"
        android:layout_width="50dp"
        android:layout_marginTop="40dp"
        android:layout_height="match_parent"
        android:background="#c3c3c3"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        android:layout_weight="0.2"
        android:layout_alignParentRight="true">
    </LinearLayout>
</RelativeLayout>

仇視列表視圖中的每個項目:-

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="1"
    android:background="@drawable/gradient">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="1">
        <ImageView
            android:layout_width="55dp"
            android:layout_height="49dp"
            android:id="@+id/legislator_image"
            android:layout_weight="0.19"
            android:layout_alignParentLeft="true"/>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginLeft="80dp">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="bold"
                android:text="Medium Text"
                android:id="@+id/firstname"
                android:layout_marginTop="3dp" />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="Small Text"
                android:id="@+id/details"
                android:layout_marginTop="3dp" />

        </LinearLayout>

        <ImageView
            android:layout_width="10dp"
            android:layout_height="10dp"
            android:layout_marginTop="20dp"
            android:layout_marginRight="3dp"
            android:layout_alignParentRight="true"
            android:id="@+id/getDetails"/>
    </RelativeLayout>
</LinearLayout>

對於側面索引欄:-

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/side_list_item"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:textSize="13sp" />

我沒有在任何地方設置邊距,但是在列表視圖和邊欄附近有一個邊距。 我希望listview和側邊欄占據整個屏幕,而沒有任何邊距。 我已附上一張圖片供您參考。 在此處輸入圖片說明

我不確定,它是否可以解決您的問題,也許還有其他問題,但這在您的代碼中絕對是錯誤的。

1)使用layout_weight ,應設置layout_width="0dp" (如果父布局是垂直的,則分別設置layout_height="0dp" ), layout_width="0dp"將導致該屬性被忽略,因此layout_width可以正常工作。

2)第二件事。 使用layout_weight ,應將父布局中的layout_width設置為某個確定的值,在這種情況下,應設置為match_parent而不是wrap_content

有很好的解釋

將您的相對布局(包含ListView和LinearLayout的一個)的寬度參數更改為:

android:layout_width="match_parent"

使用android:layout_width="wrap_content" ,RelativeLayout只會隨着其內容向側面推動而增長,因此沒有邊距,因為您定義了它,這是因為Layout的寬度不足以到達邊界

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM