ListView的多布局

用过重写两个方法来实现:

(1)getItemViewType(int position)

此方法说明listview显示哪个布局

(2)getViewTypeCount()

此方法说明listview有几种布局方式


实例代码:

<span style="font-size:18px;">package com.bwie.adapter;

import java.util.List;

import com.bwie.action.R;
import com.bwie.bean.Data;
import com.bwie.bean.ImageList;
import com.bwie.bean.Large_image_list;
import com.nostra13.universalimageloader.core.ImageLoader;

import android.content.Context;
import android.graphics.Color;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.SystemClock;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.MediaController;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.VideoView;

public class MyListViewNewsAdapter extends BaseAdapter {
	private Context context;
	private List<Data> list;
	private int currentIndex=-1;
	private int playPosition=-1;
	private boolean isPlaying=false;
	private boolean isPaused=false;
	private final int VIDEO=0;//视频
	private final int ONE_SMALL_IMAGE=1;//一张小图
	private final int ONE_LARGE_IMAGE=2;//一张大图
	private final int THREE_IMAGE=3;//三张小图
	private final int NO_IMAGE=4;//没有图和视频
	private ViewHolderVideo video2;
	private VideoView videoPlay;
	boolean flag;
	public MyListViewNewsAdapter(Context context, List<Data> list,boolean flag) {
		this.context = context;
		this.list = list;
		this.flag=flag;
	}

	@Override
	public int getCount() {

		return list.size();
	}

	@Override
	public Object getItem(int arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public long getItemId(int arg0) {
		// TODO Auto-generated method stub
		return 0;
	}
	
	@Override
	public int getItemViewType(int position) {
		Data data = list.get(posi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用WPF ListView的ItemsPanel属性来指定ListView项的布局方式。以下是一种实现横向布局的方法: 1. 在XAML中定义ListView,并将ItemsPanel属性设置为StackPanel: ``` <ListView ItemsSource="{Binding Items}"> <ListView.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal" /> </ItemsPanelTemplate> </ListView.ItemsPanel> <ListView.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding}" /> </DataTemplate> </ListView.ItemTemplate> </ListView> ``` 2. 将StackPanel的Orientation属性设置为Horizontal。 这样,ListView的项将以横向布局方式呈现。你可以根据需要调整其它属性,例如间距、对齐方式等。 ### 回答2: WPF(Windows Presentation Foundation)是微软公司推出的用于创建Windows应用程序的框架。ListView是WPF中常用的控件之一,用于显示一组数据项的列表。默认情况下,ListView布局是纵向的,即数据项按垂直方向排列。如果需要实现ListView的横向布局,可以通过以下几个步骤来实现。 首先,在XAML文件中声明一个ListView控件,并设置其Orientation属性为Horizontal,这将使ListView变为横向布局。 ```csharp <ListView Width="500" Height="200" Orientation="Horizontal"> <!-- 在此处添加数据模板和数据绑定 --> </ListView> ``` 接下来,需要为ListView指定数据模板和数据绑定,以展示列表中的数据项。 ```csharp <ListView Width="500" Height="200" Orientation="Horizontal"> <ListView.ItemTemplate> <DataTemplate> <!-- 在此处定义数据项的布局和样式 --> </DataTemplate> </ListView.ItemTemplate> </ListView> ``` 在DataTemplate中可以定义数据项的布局和样式,例如可以使用StackPanel来水平排列数据项的内容。 ```csharp <ListView Width="500" Height="200" Orientation="Horizontal"> <ListView.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <!-- 在此处添加数据项的内容 --> </StackPanel> </DataTemplate> </ListView.ItemTemplate> </ListView> ``` 最后,在代码中通过数据绑定将数据项与ListView关联起来,以实现数据的显示和更新。 综上所述,通过设置ListView的Orientation属性为Horizontal,并在DataTemplate中使用StackPanel来横向布局数据项的内容,再通过数据绑定将数据与ListView关联,即可实现WPF中ListView的横向布局。 ### 回答3: WPF中的ListView控件默认的布局方式是纵向布局,即列表项垂直排列。如果想要实现ListView的横向布局,可以通过修改ItemPanel的布局方式来实现。 首先,我们需要把ListView的ItemsPanel修改为一个横向布局的面板,比如使用WrapPanel或者UniformGrid。通过修改ListView的ItemPanel属性,可以将默认的ItemsPanel修改为横向布局的面板,如下所示: ``` <ListView> <ListView.ItemsPanel> <ItemsPanelTemplate> <WrapPanel Orientation="Horizontal"/> </ItemsPanelTemplate> </ListView.ItemsPanel> <!--其他代码--> </ListView> ``` 这样,ListView中的列表项就会横向排列了。但是需要注意的是,如果内容过多,会导致横向排列的列表项超出窗口范围,因此还需要根据实际情况设置ListView的宽度或者调整WrapPanel的宽度来适应布局。 另外,还可以通过修改ListView的ItemContainerStyle来定制列表项的样式,使其适应横向布局。比如设置列表项的最小宽度、高度、边距等,以及设置水平对齐方式等。 总之,通过修改ListView的ItemsPanel和ItemContainerStyle,可以实现ListView的横向布局,使列表项横向排列。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值