如何使用ListView低于LinearLayout

时间:2015-12-13 11:46:50

标签: android css android-layout listview android-listview

我正在尝试在我的android项目中制作MyProfile活动。在MyProfile活动中,第一个屏幕将显示我的个人资料图片以及我的姓名和其他有关用户的生物数据。我想让屏幕/布局可以滑动,这样如果我向上滑动屏幕,我的当前信息会被推高,并会出现一个列表视图,显示用户的帖子。

我不确定这是否可行,因为我正在使用嵌套布局来完成第一个屏幕构思,其中Layoutwidth和Height被设置为来自java代码的屏幕宽度和高度。

这是我的XML代码                                                                                                                                     

        <View
            android:layout_width="1dp"
            android:layout_height="40dp"
            android:layout_marginTop="4dp"
            android:layout_marginLeft="25dp"
            android:layout_marginRight="20dp"
            android:layout_marginBottom="4dp"
            android:background="#c0c0c0"/>

        <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_gravity="center">
        <ImageView
            android:layout_width="35dp"
            android:layout_height="35dp"
            android:layout_marginBottom="4dp"
            android:src="@drawable/touch"
            android:layout_gravity="center"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:id="@+id/mynumofposts"
            android:textStyle="bold"
            android:text="200"/>
    </LinearLayout>
        <View
            android:layout_width="1dp"
            android:layout_height="40dp"
            android:layout_marginTop="4dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="25dp"
            android:layout_marginBottom="4dp"
            android:background="#c0c0c0"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_gravity="center">
            <ImageView
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:src="@drawable/nearbycircle"
                android:layout_marginBottom="4dp"
                android:layout_gravity="center"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:textStyle="bold"
                android:id="@+id/mynumoffollowers"
                android:text="300"/>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

<ListView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/myprofilelist"/></LinearLayout>

现在我想在底部使用此ListView来显示用户的帖子,但我无法在我的应用中实现向上滑动和显示列表。

我已经检查了其他类似的问题但我的问题并不熟悉。

这是我迄今为止所取得的成就,现在我想让布局轻扫并显示ListView enter image description here

4 个答案:

答案 0 :(得分:1)

您可以使用 ScrollView 并在ScrollView中使用您当前的配置文件和列表视图

就像这一个

group by

或使用此布局(使用您提供的xml进行修改)

Having

答案 1 :(得分:0)

我建议使用ListView的 RecyclerView ,有2种视图类型,索引0处项目的第一个视图类型是加载LinearLayout的地方,任何其他索引都是post类型对于列表视图中的项目

答案 2 :(得分:0)

这可以做到。

你有没有像这样的MyProfile.java活动的布局......

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <FrameLayout
         android:id="@+id/content_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
</LinearLayout>

之后有两个不同的片段

  

MyProfileFragment - 这将包含有关用户的生物数据,请确保这是您在开始Fragment活动时首先加载的MyProfile

     

MyListFragment - 这将包含您要显示的列表

使MyProfile.java活动中的事件与向上和向下滑动相关,并使用此xml显示向上和向下动画。

  MyListFragment fragment = new MyListFragment();
    final FragmentManager fm = getSupportFragmentManager();
    final FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(R.anim.fragment_slide_up_enter, R.anim.fragment_slide_down_exit)
                .replace(R.id.content_main, fragment, "place")
                .addToBackStack("FRAGMENT_TAG")
                .commit();

使用以下xml,您将保存在Android项目的res/anim目录中

  

fragment_slide_down_exit.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <translate android:fromXDelta="0" android:fromYDelta="-1000" android:duration="1500"/>
</set>
  

fragment_slide_up_enter.xml:

<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <translate android:fromXDelta="0" android:fromYDelta="1000" android:duration="1500"/>
</set>

答案 3 :(得分:0)

您可以使用::折叠工具栏布局 以下是CollapsingToolbarLayout

的一个示例链接

有关:: CollapsingToolbarLayout

的Google详细信息