android listview 怎么做成横向滚动
时间: 2023-08-04 09:07:28 浏览: 317
要将 Android ListView 改为横向滚动,你可以使用 HorizontalScrollView 和 LinearLayout 来实现。以下是实现的步骤:
- 在 XML 布局文件中,将 ListView 包裹在一个 HorizontalScrollView 中,并设置 HorizontalScrollView 的宽度为 wrap_content。
- 将 ListView 的布局方向设置为水平方向,即 android:orientation="horizontal"。
- 在代码中,为 ListView 设置一个适配器,用于填充数据。
- 最后,在适配器中设置每个列表项的宽度为固定值,这样它们将在水平方向上排列。
以下是一个示例代码:
XML 布局文件(例如 activity_main.xml):
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView
android:id="@+id/listView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" />
</HorizontalScrollView>
Java 代码(例如 MainActivity.java):
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
// 创建适配器并设置数据
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
adapter.add("Item 1");
adapter.add("Item 2");
adapter.add("Item 3");
adapter.add("Item 4");
adapter.add("Item 5");
// 设置适配器
listView.setAdapter(adapter);
// 设置每个列表项的宽度
listView.post(new Runnable() {
@Override
public void run() {
for (int i = 0; i < listView.getChildCount(); i++) {
View listItem = listView.getChildAt(i);
listItem.setMinimumWidth(300); // 设置宽度为固定值
}
}
});
}
}
这样,你的 Android ListView 将会以横向滚动的方式显示列表项。记得替换示例代码中的布局和适配器,以适应你自己的需求。
相关推荐















