布局android中的额外空间

时间:2015-11-08 00:52:16

标签: android android-layout android-studio android-linearlayout

我正在关注本教程http://www.androidhive.info/2014/06/android-facebook-like-custom-listview-feed-using-volley/。我复制了这个布局:

recycler_items:          

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"

        android:layout_marginLeft="@dimen/feed_item_margin"
        android:layout_marginRight="@dimen/feed_item_margin"
        android:layout_marginTop="@dimen/feed_item_margin"
        android:background="@drawable/bg_parent_rounded_corner"
        android:orientation="vertical"
        android:paddingBottom="@dimen/feed_item_padding_top_bottom"
        android:paddingTop="@dimen/feed_item_padding_top_bottom" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingLeft="@dimen/feed_item_padding_left_right"
            android:paddingRight="@dimen/feed_item_padding_left_right" >

            <com.android.volley.toolbox.NetworkImageView
                android:id="@+id/profilePic"
                android:layout_width="@dimen/feed_item_profile_pic"
                android:layout_height="@dimen/feed_item_profile_pic"
                android:scaleType="fitCenter" >
            </com.android.volley.toolbox.NetworkImageView>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:paddingLeft="@dimen/feed_item_profile_info_padd" >

                <TextView
                    android:id="@+id/name"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textSize="@dimen/feed_item_profile_name"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/timestamp"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textColor="@color/timestamp"
                    android:textSize="@dimen/feed_item_timestamp" />
            </LinearLayout>
        </LinearLayout>

        <TextView
            android:id="@+id/txtStatusMsg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="5dp"
            android:paddingLeft="@dimen/feed_item_status_pad_left_right"
            android:paddingRight="@dimen/feed_item_status_pad_left_right"
            android:paddingTop="@dimen/feed_item_status_pad_top" />

        <TextView
            android:id="@+id/txtUrl"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:linksClickable="true"
            android:paddingBottom="10dp"
            android:paddingLeft="@dimen/feed_item_status_pad_left_right"
            android:paddingRight="@dimen/feed_item_status_pad_left_right"
            android:textColorLink="@color/link" />

        <info.androidhive.listviewfeed.FeedImageView
            android:id="@+id/feedImage1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/white"
            android:scaleType="fitXY"
            android:visibility="visible" />
    </LinearLayout>

</LinearLayout>

出于某种原因,我在右侧有额外的空白区域,比如屏幕的1/5。当我在应用程序中预览它不在那里,但在手机上它是。我知道问题就是这个布局,因为如果我用图像替换所有东西,它将填满整个宽度。这是一张有问题的照片:http://6pix.net/images/89726012394405680403.jpg。额外的空间来自哪里?

这是我的回收商,收集物品:

<?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.support.v7.widget.RecyclerView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/recycler_view"


        />
</LinearLayout>

这就是我如何给recyclerItems充气:

View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recycler_items, null);

2 个答案:

答案 0 :(得分:0)

要将2个XML标记/图像放在另一个上面,请使用RelativeLayout。我不是100%确定哪些XML标签引用了屏幕上的内容,而是使用相对布局。例如,也许试试这个:

{{1}}

答案 1 :(得分:0)

对于有同样问题的人。我找到了修改我对recyclerItems布局进行膨胀的方法的解决方案。

改变
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recycler_items, null);

View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recycler_items, viewGroup, false);