如何使multiplelistview滚动型? [英] how to make multiplelistview in Scrollview?

查看:139
本文介绍了如何使multiplelistview滚动型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的code存在为四列表视图如何使屏幕滚动显示所有列表视图中的所有数据?不是这个code确保列表视图滚动,我不想列表视图滚动希望像

图像ScreenScrollable

 < XML版本=1.0编码=UTF-8&GT?;
    < LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
   机器人:layout_width =FILL_PARENT
  机器人:layout_height =FILL_PARENT
  机器人:后台=#FFFFFF
   机器人:方向=垂直>

    < RelativeLayout的
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =WRAP_CONTENT
    机器人:背景=@可绘制/ imagelogo2
    机器人:方向=横向>

    < ImageView的
        机器人:ID =@ + ID / test_button_image
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:以下属性来=5DP
        机器人:paddingTop =20dp
        机器人:SRC =@可绘制/后退>
     < / ImageView的>

     < ImageView的
        机器人:ID =@ + ID / test_button_image2
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:layout_alignParentRight =真
        机器人:以下属性来=5DP
        机器人:paddingRight =15dp
        机器人:paddingTop =15dp
        机器人:SRC =@可绘制/选项1/>
     < / RelativeLayout的>

  <的TextView
    机器人:ID =@ + ID / ElemenrySchool
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:layout_toRightOf =@ + ID / btnback
    机器人:paddingBottom会=10dp
    机器人:以下属性来=5DP
    机器人:paddingTop =10dp
    机器人:文本=初等
    机器人:TEXTSIZE =17dp>
     < / TextView的>

  <的LinearLayout
    机器人:ID =@ + ID / lytContent
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =WRAP_CONTENT
    机器人:layout_marginTop =10dp
    机器人:背景=@可绘制/ border2
    机器人:方向=垂直
    机器人:以下属性来=10dp
    机器人:paddingRight =10dp>

    <的ListView
        机器人:ID =@ + ID / listMainMenu11
        机器人:layout_width =FILL_PARENT
        机器人:layout_height =WRAP_CONTENT
        机器人:dividerHeight =1dip
        机器人:fadeScrollbars =真
        机器人:listSelector =@可绘制/ listview_selector/>
       < / LinearLayout中>

    <的TextView
    机器人:ID =@ + ID /及学历
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:paddingBottom会=10dp
    机器人:以下属性来=5DP
    机器人:paddingTop =10dp
    机器人:文本=中间
    机器人:TEXTSIZE =17dp>
   < / TextView的>

   <的LinearLayout
    机器人:ID =@ + ID / lytContent2
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =WRAP_CONTENT
    机器人:layout_marginTop =10dp
    机器人:背景=@可绘制/ border2
    机器人:方向=垂直
    机器人:以下属性来=10dp
    机器人:paddingRight =10dp>

    <的ListView
        机器人:ID =@ + ID / listMainMenu22
        机器人:layout_width =FILL_PARENT
        机器人:layout_height =WRAP_CONTENT
        机器人:dividerHeight =1dip
        机器人:fadeScrollbars =真
        机器人:listSelector =@可绘制/ listview_selector/>
   < / LinearLayout中>

   <的TextView
    机器人:ID =@ + ID /类证书高中
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:layout_toRightOf =@ + ID / btnback
    机器人:paddingBottom会=10dp
    机器人:以下属性来=5DP
    机器人:paddingTop =10dp
    机器人:文本=类证书高中
    机器人:TEXTSIZE =17dp>
   < / TextView的>

    <的LinearLayout
    机器人:ID =@ + ID / lytContent3
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =WRAP_CONTENT
    机器人:layout_marginTop =10dp
    机器人:背景=@可绘制/ border2
    机器人:方向=垂直
    机器人:以下属性来=10dp
    机器人:paddingRight =10dp>

      <的ListView
        机器人:ID =@ + ID / listMainMenu33
        机器人:layout_width =FILL_PARENT
        机器人:layout_height =WRAP_CONTENT
        机器人:dividerHeight =1dip
        机器人:fadeScrollbars =真
        机器人:listSelector =@可绘制/ listview_selector/>
   < / LinearLayout中>

   <的TextView
    机器人:ID =@ + ID / AtipicalSchool
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:layout_toRightOf =@ + ID / btnback
    机器人:paddingBottom会=10dp
    机器人:以下属性来=5DP
    机器人:paddingTop =10dp
    机器人:文本=Atipical
    机器人:TEXTSIZE =17dp>
   < / TextView的>

   <的LinearLayout
    机器人:ID =@ + ID / lytContent4
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =WRAP_CONTENT
    机器人:layout_marginTop =10dp
    机器人:背景=@可绘制/ border2
    机器人:方向=垂直
    机器人:以下属性来=10dp
    机器人:paddingRight =10dp>

    <的ListView
        机器人:ID =@ + ID / listMainMenu44
        机器人:layout_width =FILL_PARENT
        机器人:layout_height =WRAP_CONTENT
        机器人:dividerHeight =1dip
        机器人:fadeScrollbars =真
        机器人:listSelector =@可绘制/ listview_selector/>
   < / LinearLayout中>

  < / LinearLayout中>
 

解决方案

使用此自定义列表视图组件中滚动视图。

 包com.app.Settings;

进口android.content.Context;
进口android.util.AttributeSet;
进口android.view.ViewGroup;
进口android.widget.ListView;

公共类ExpandableHeightListView扩展的ListView
{

布尔扩展=虚假的;

公共ExpandableHeightListView(上下文的背景下)
{
    超(上下文);
}

公共ExpandableHeightListView(上下文的背景下,ATTRS的AttributeSet)
{
    超(背景下,ATTRS);
}

公共ExpandableHeightListView(上下文的背景下,ATTRS的AttributeSet,INT defStyle)
{
    超(背景下,ATTRS,defStyle);
}

公共布尔isExpanded()
{
    返回扩大;
}

@覆盖
公共无效onMeasure(INT widthMeasureSpec,INT heightMeasureSpec)
{
    // HACK!采取ANDROID!
    如果(isExpanded())
    {
        //通过提供一个非常大的高度暗示计算整个高度。
        //但不要使用最高的2位这个整数的;那些是
        //保留用于MeasureSpec模式。
        INT expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE的>→2,MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec,expandSpec);

        ViewGroup.LayoutParams PARAMS = getLayoutParams();
        params.height = getMeasuredHeight();
    }
    其他
    {
        super.onMeasure(widthMeasureSpec,heightMeasureSpec);
    }
}

公共无效setExpanded(布尔展开)
{
    this.expanded =扩大;
}
}
 

如何使用XML?

 < yourPackageName.ExpandableHeightListView
        机器人:ID =@ + ID / expandableHeightlist1
        机器人:layout_width =match_parent
        机器人:layout_height =WRAP_CONTENT
        机器人:cacheColorHint =#00000000
        机器人:fadingEdge =无
        机器人:可聚焦=假
        机器人:滚动条=无
        >
    < /yourPackageName.ExpandableHeightGridView>
 

和设置

  yourListView.setExpanded(真正的);
 

通过使用这个自定义组件,您可以设置多个列表视图内滚动视图。我使用这个自定义组件。

享受:)

in my code there is four listview how do i make screen scrollable to show all data of all listview? not this code make listview scrollable i dont want listview scrolling want ScreenScrollable like this image

   <?xml version="1.0" encoding="UTF-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="#ffffff"
   android:orientation="vertical" >

    <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/imagelogo2"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/test_button_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="20dp"
        android:src="@drawable/back" >
     </ImageView>

     <ImageView
        android:id="@+id/test_button_image2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:paddingLeft="5dp"
        android:paddingRight="15dp"
        android:paddingTop="15dp"
        android:src="@drawable/options1" />
     </RelativeLayout>

  <TextView
    android:id="@+id/ElemenrySchool"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/btnback"
    android:paddingBottom="10dp"
    android:paddingLeft="5dp"
    android:paddingTop="10dp"
    android:text="elementry"
    android:textSize="17dp" >
     </TextView>

  <LinearLayout
    android:id="@+id/lytContent"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:background="@drawable/border2"
    android:orientation="vertical"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" >

    <ListView
        android:id="@+id/listMainMenu11"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:dividerHeight="1dip"
        android:fadeScrollbars="true"
        android:listSelector="@drawable/listview_selector" />
       </LinearLayout>

    <TextView
    android:id="@+id/MiddleSchool"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingBottom="10dp"
    android:paddingLeft="5dp"
    android:paddingTop="10dp"
    android:text="Middle"
    android:textSize="17dp" >
   </TextView>

   <LinearLayout
    android:id="@+id/lytContent2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:background="@drawable/border2"
    android:orientation="vertical"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" >

    <ListView
        android:id="@+id/listMainMenu22"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:dividerHeight="1dip"
        android:fadeScrollbars="true"
        android:listSelector="@drawable/listview_selector" />
   </LinearLayout>

   <TextView
    android:id="@+id/HighSchool"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/btnback"
    android:paddingBottom="10dp"
    android:paddingLeft="5dp"
    android:paddingTop="10dp"
    android:text="HighSchool"
    android:textSize="17dp" >
   </TextView>

    <LinearLayout
    android:id="@+id/lytContent3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:background="@drawable/border2"
    android:orientation="vertical"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" >

      <ListView
        android:id="@+id/listMainMenu33"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:dividerHeight="1dip"
        android:fadeScrollbars="true"
        android:listSelector="@drawable/listview_selector" />
   </LinearLayout>

   <TextView
    android:id="@+id/AtipicalSchool"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/btnback"
    android:paddingBottom="10dp"
    android:paddingLeft="5dp"
    android:paddingTop="10dp"
    android:text="Atipical"
    android:textSize="17dp" >
   </TextView>

   <LinearLayout
    android:id="@+id/lytContent4"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:background="@drawable/border2"
    android:orientation="vertical"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" >

    <ListView
        android:id="@+id/listMainMenu44"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:dividerHeight="1dip"
        android:fadeScrollbars="true"
        android:listSelector="@drawable/listview_selector" />
   </LinearLayout>

  </LinearLayout>

解决方案

use this custom listview component inside scrollview.

package com.app.Settings;

import android.content.Context;
import android.util.AttributeSet;
import android.view.ViewGroup;
import android.widget.ListView;

public class ExpandableHeightListView extends ListView
{

boolean expanded = false;

public ExpandableHeightListView(Context context)
{
    super(context);
}

public ExpandableHeightListView(Context context, AttributeSet attrs)
{
    super(context, attrs);
}

public ExpandableHeightListView(Context context, AttributeSet attrs,int defStyle)
{
    super(context, attrs, defStyle);
}

public boolean isExpanded()
{
    return expanded;
}

@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
    // HACK! TAKE THAT ANDROID!
    if (isExpanded())
    {
        // Calculate entire height by providing a very large height hint.
        // But do not use the highest 2 bits of this integer; those are
        // reserved for the MeasureSpec mode.
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);

        ViewGroup.LayoutParams params = getLayoutParams();
        params.height = getMeasuredHeight();
    }
    else
    {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
}

public void setExpanded(boolean expanded)
{
    this.expanded = expanded;
}
} 

HOW TO USE IN XML?

 <yourPackageName.ExpandableHeightListView
        android:id="@+id/expandableHeightlist1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"   
        android:cacheColorHint="#00000000"
        android:fadingEdge="none"
        android:focusable="false"
        android:scrollbars="none"
        >
    </yourPackageName.ExpandableHeightGridView>

and set

yourListView.setExpanded(true);

By using this custom component you can set multiple listview inside scrollview. i am using this custom component.

Enjoy :)

这篇关于如何使multiplelistview滚动型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆