如何将Horizo​​ntal ListView项设置为最右侧

时间:2014-01-06 04:24:00

标签: android android-layout listview android-listview android-view

我已经实现了一个自定义Listview,它是Horizo​​ntalListView。

这是HorizontalListView类: 所需的其他课程之一是:Utils

在上面两个类的帮助下,我在下面实现了Horizo​​ntalListView:

  <com.example.myproject.HorizontalListView
                android:id="@+id/imageList"
                android:layout_width="wrap_content"
                android:gravity="right"
                android:layout_height="130dp"
                android:layout_gravity="right"
                android:layout_marginTop="10dp"
                android:stackFromBottom="true"
                android:layout_weight="1" />

但问题是,我没有把Listview放在右侧。我想要的是从右侧开始列表视图。但我不知道在哪里更新代码。

我曾尝试将重力设置为右侧的XML布局和JAVA类,但我没有得到正确的效果。

我没有从右侧开始列表视图。

任何人都可以帮我吗?

我想要像屏幕截图一样:

Screen Shot

提前致谢。

我的其他XML代码如下:

     <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:orientation="vertical" >

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:layout_margin="5dp"
                    android:gravity="center_horizontal|center_vertical"
                    android:orientation="horizontal" >

                    <EditText
                        android:id="@+id/Idea_titleET"
                        style="@android:style/TextAppearance.Small"
                        android:layout_width="fill_parent"
                        android:layout_height="40dp"
                        android:background="@drawable/signup_edittext_backgroung"
                        android:cursorVisible="true"
                        android:ellipsize="start"
                        android:gravity="center_vertical|right"
                        android:hint="Title"
                        android:inputType="textCapWords"
                        android:maxLength="45"
                        android:paddingRight="5dp"
                        android:singleLine="true"
                        android:textColor="#000000" />
                </LinearLayout>

                <TextView
                    android:id="@+id/Idea_TitleEr"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:gravity="right"
                    android:paddingRight="6dp"
                    android:text="Title is required"
                    android:textColor="#ff0000"
                    android:textSize="10dp"
                    android:textStyle="italic"
                    android:visibility="invisible" />

                <EditText
                    android:id="@+id/Idea_DescriptionET"
                    style="@android:style/TextAppearance.Small"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="5dp"
                    android:background="@drawable/signup_edittext_backgroung"
                    android:gravity="top|right"
                    android:hint="Description"
                    android:maxLength="100"
                    android:maxLines="3"
                    android:padding="5dp"
                    android:textColor="#000000" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:layout_marginRight="6dp"
                    android:layout_marginTop="10dp"
                    android:text="Upload Documents"
                    android:textColor="@color/grey"
                    android:textSize="18dp"
                    android:textStyle="bold" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="6dp"
                    android:gravity="right"
                    android:text="The document can be images(JPG, PNG) or Youtube videos(URL)"
                    android:textColor="@color/grey" />

                <RelativeLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="right"
                    android:orientation="vertical" >



                    <com.example.lc5plus.HorizontalListView
                        android:id="@+id/imageList"
                        android:layout_width="wrap_content"
                        android:layout_height="130dp"
                        android:layout_alignParentRight="true"
                        android:layout_marginTop="10dp"
                        android:layout_weight="1"
                        android:gravity="right" />
                </RelativeLayout>
</LinearLayout>

检查下图,查看我想要的内容:

enter image description here

在上图中,带有“+”符号的方格是我的水平列表视图。现在只添加了一个索引。但它显示在左侧。所以我想要的是,即使只有一个索引,它也应该显示在右侧。

5 个答案:

答案 0 :(得分:0)

转换此

<RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:orientation="vertical" >



                <com.example.lc5plus.HorizontalListView
                    android:id="@+id/imageList"
                    android:layout_width="wrap_content"
                    android:layout_height="130dp"
                    android:layout_alignParentRight="true"
                    android:layout_marginTop="10dp"
                    android:layout_weight="1"
                    android:gravity="right" />
            </RelativeLayout>

 <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="right"
                android:layout_gravity="right"
                android:orientation="vertical" >



                <com.example.lc5plus.HorizontalListView
                    android:id="@+id/imageList"
                    android:layout_width="wrap_content"
                    android:layout_height="130dp"
                    android:layout_alignParentRight="true"
                    android:layout_marginTop="10dp"
                    android:layout_weight="1"
                    android:gravity="right" />
            </LinearLayout>

试试吧,它可能会也可能不会奏效。试一试。

答案 1 :(得分:0)

android:stackFromBottom="false"

将其设为假,然后再试一次?

答案 2 :(得分:0)

只需在xml中稍加更改即可添加两行android:stackFromBottom="true"android:transcriptMode="normal",并将宽度设置为match_parent,如下所示:

<com.example.myproject.HorizontalListView
                android:id="@+id/imageList"
                android:layout_width="match_parent"
                android:layout_height="130dp"
                android:stackFromBottom="true"
                android:transcriptMode="normal"
                android:layout_marginTop="10dp"
                android:layout_weight="1" />

正如 yahya 所说,我注意到您的自定义水平列表视图未将 stackFromBottom 功能重写为 listview 覆盖此功能,请首先覆盖该功能,然后应用上面的代码。作为参考,您可以查看this link

希望这会有所帮助:)

答案 3 :(得分:0)

我无法看到你的横向列表视图代码,但是你确定你的横向列表视图支持stackFromBottom属性吗?否则你需要自己实现。

答案 4 :(得分:0)

如果你的意思是rtl,就这样使用:

android:layoutDirection="rtl"

全部:)