修复某些行的listview大小并提供滚动

时间:2015-01-22 13:48:22

标签: android listview android-listview

我有一个listview,我在其中添加一个数组中的元素,我需要在屏幕上只显示三行并使其余都可以滚动,也就是说只有在我们滚动时才能看到它,如何实现这一点?

我有自定义适配器.Below是我的listview

 <LinearLayout  android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <ListView android:id="@+id/listView"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:divider="#00000000"
            android:dividerHeight="5dp"
           />

和适配器

 @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        Holder holder=new Holder();
        View rowView;
        rowView = inflater.inflate(R.layout.tabitem, null);
        holder.tv=(TextView) rowView.findViewById(R.id.textView1);
        holder.tv1=(TextView)rowView.findViewById(R.id.textView2);
        holder.tv2=(TextView) rowView.findViewById(R.id.textView3);
        holder.tv3=(TextView) rowView.findViewById(R.id.textView4);
        holder.tv4=(TextView) rowView.findViewById(R.id.textView5);
        holder.tv.setText(result[position]);
        holder.tv1.setText(result1[position]);
        holder.tv2.setText(result2[position]);
        holder.tv3.setText(result3[position]);
        holder.tv4.setText(result4[position]);
        rowView.setBackgroundColor(Color.parseColor("#F1F1FF"));

        rowView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(context, "You Clicked "+result[position], Toast.LENGTH_LONG).show();
            }
        });
        return rowView;
    }

}

1 个答案:

答案 0 :(得分:1)

我相信这可以在相对布局的帮助下完成。 This answer类似于您要实现的目标 基本上,您将相对布局设为父级,并在视图标记中使用alignParentTopalignParentBottomandroid:layout_aboveandroid:layout_below属性进行播放。