画廊空间的开头和结尾

时间:2011-07-19 18:37:36

标签: android gallery horizontal-scrolling

我遇到了以下问题,我创建了一个带有图库的表单,而不是包含图像的图库包含来自我的某个类的项目,图库中每个项目内的所有内容都完美显示。我使用以下方法删除了图像之间的空间

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
        <Gallery android:id="@+id/galleryid"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:spacing="0dip"
                android:padding="0dip"
                android:layout_weight="1" />

画廊的项目:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
    android:layout_width="75dip" xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center_horizontal" android:background="#ffffff"> 

    <TextView android:id="@+id/frame_number" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="-" android:textSize="12dip" android:textColor="#ffffff" android:background="#000000" android:gravity="center" />
    <LinearLayout android:id="@+id/LinearLayout01"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" android:orientation="horizontal" android:gravity="center_horizontal">
                <TextView  android:id="@+id/frame_shot1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="-" android:textSize="18dip" android:textColor="#000000" />
                <TextView  android:id="@+id/frame_shot2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="-" android:textSize="18dip" android:textColor="#000000" />
    </LinearLayout> 
    <TextView android:id="@+id/frame_total" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="---" android:textSize="38dip" android:textColor="#000000"/>
</LinearLayout>

buuuuuuuuuuuuuuuut,我遇到了问题,画廊的开头和结尾有一些空白区域,没有任何物品。问题是我的画廊上面有许多物品,你可以实际上水平滚动,但我想摆脱那些空间,所以画廊左边的第一件事是第一件事,最后是当你滚动最右边是正确的项目。


编辑08/16仍然在项目中回到同样的问题,这里我留下的图像确切地说是我想要摆脱的是那个开头的黑色空间(也就是在结束时)另一边的画廊)

enter image description here

6 个答案:

答案 0 :(得分:2)

您获得左侧空白区域的原因仅仅是因为没有更多项目显示在第一个项目的左侧(在视图中居中)。我认为同样的问题也出现在最后一项的权利上。

要正确解决这个问题,必须决定在没有更多项目的情况下显示什么,但我会提出一些想法:

(1)将图库项目的宽度增加到与图库相同的宽度,一次只显示一个项目,因此用户将永远无法滚动到空白区域。

(2)要在空白处显示纯色或图像,我会假设设置图库的android:background属性。

(3)在适配器的开头和结尾创建一个缓冲区,分别由最后/第一项组成,当用户在缓冲区中滚动得足够远时,跳转到库的另一端的匹配项为无限的“旋转木马”画廊。

答案 1 :(得分:2)

尝试:

int position=1;

void android.widget.AbsSpinner.setSelection(int position)

答案 2 :(得分:1)

您可以尝试的一件事是检查是否有多个项目。如果有,请将库中的选项设置为第二项。

答案 3 :(得分:0)

你可能在谈论渐弱的边缘长度。

http://developer.android.com/reference/android/view/View.html#setFadingEdgeLength(int

尝试

setFadingEdgeLength(0);

或者

 setHorizontalFadingEdgeEnabled(false);

尝试更改图库宽度的布局以填充父级而不是换行内容:

   <Gallery android:id="@+id/galleryid"
            android:layout_width="fill_parent" 

答案 4 :(得分:0)

将图库的边距设置为-(metrics.widthPixels)+itemWidth,空白区域为隐藏。

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
params.setMargins(-(metrics.widthPixels)+itemWidth,0,0,0); 
gallery.setLayoutParams(params);

答案 5 :(得分:-2)

我刚刚用这个问题花了2个小时,终于找到了自己的解决方案。我有一个Gallery,带有自定义LinearLayout元素。我想一次只显示1个元素,在开始和结束时没有任何填充。

经过多次尝试,我发现,如果我将每个项目的 minWidth 参数设置为一个大数字(android:minWidth =“1000dp”)我的问题就解决了。不知道它是否适合您的问题。祝你好运

彼得B。