listview在我的代码中垂直显示,可以水平更改?

时间:2018-01-16 11:55:53

标签: android listview

我在布局中实现了listview:

<ListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</ListView>

然后在我的活动中设置了它的适配器:

mListView = (ListView) findViewById(R.id.listView);
mListView.setAdapter(new MyAdapter(this, R.layout.list_item, mListImages));

MyAdapter处理getView并垂直显示列表:

images1
images2
....

可以水平显示列表吗?这样:

image1  image2  ....

(当然它应该可以使用滚动并显示所有图像)

我看到这个结果可以通过RecycleView和LayoutManager来实现,它将Horizo​​ntal作为参数但我已经实现了ListView,它没有方法“setLayoutManager”。我需要它才能用于API 15及更高版本。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用RecyclerView:

public class MyActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_activity);

    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);

    LinearLayoutManager layoutManager = new LinearLayoutManager(this);
    layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
    recyclerView.setLayoutManager(layoutManager);

    MyAdapter adapter = new MyAdapter(myDataset);
    recyclerView.setAdapter(adapter);
}

}

和布局为my_recycler_view.xml

<android.support.v7.widget.RecyclerView
    android:id="@+id/my_recycler_view"
    android:scrollbars="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

答案 1 :(得分:0)

尝试使用orientation

<ListView
    android:id="@+id/listView"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</ListView>