如何在水平Android

时间:2017-10-01 18:15:18

标签: android listview arraylist

我正在处理列表视图..列表视图项目显示在vertical.but我显示水平项目但不显示水平项目。 和simple_list_item_1无法正常工作。我正在向左或向右改变重力,但项目垂直显示......我的代码是

这里是content_main

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">



        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editText"
            android:layout_centerHorizontal="true" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Searach Now"
            android:id="@+id/button"
            android:layout_alignParentTop="true"
            android:layout_toLeftOf="@+id/editText" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">



        <ListView
            android:id="@+id/listView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"

            android:layout_below="@+id/headingText">


        </ListView>

    </LinearLayout>

</RelativeLayout>

这里是simple_list_item。 XML

 <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"></TextView>

    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
       ></TextView>

</Relativelayout>

2 个答案:

答案 0 :(得分:0)

必须使用方式:根据Android文档RecyclerView是组织列表视图中的项目并水平显示的最佳方式

<强>优点:

  1. 由于使用Recyclerview适配器,ViewHolder pattern是 自动实施
  2. 动画易于执行
  3. 更多功能
  4. <强>示例:

    survivingwithandroid.com

    只需添加以下块即可使ListView从垂直

    变为水平

    <强>代码段

    LinearLayoutManager layoutManager= new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL, false);
    mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
    mRecyclerView.setLayoutManager(layoutManager);
    

    参考:Horizontal ListView in Android?

    另一种方式:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
    <HorizontalScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scrollbars="horizontal">
    
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="horizontal">
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_margin="20dp"
                android:background="#f00"
                android:padding="10dp"
                android:text="Button 1"
                android:textColor="#fff"
                android:textSize="20sp" />
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_margin="20dp"
                android:background="#0f0"
                android:padding="10dp"
                android:text="Button 2"
                android:textColor="#fff"
                android:textSize="20sp" />
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_margin="20dp"
                android:background="#00f"
                android:padding="10dp"
                android:text="Button 3"
                android:textColor="#fff"
                android:textSize="20sp" />
    
        </LinearLayout>
    
    </HorizontalScrollView>
    
    </RelativeLayout>
    

    结果代码:

    enter image description here

      

    问题HorizontalScrollView是否显示水平条,建议不要使用。

    我希望它会对你有帮助。

答案 1 :(得分:0)

我知道你是初学者,recyclerView为此提供了LayoutManagers,但是你很新,最好了解listview,因为它是基本概念,比recyclerview更容易设置。

使用水平滚动视图并将列表视图嵌入其中。这样做的目的不是将列表项目放在垂直位置,而是使用滚动选项以水平方式进行。