2017-08-07 72 views
0

当我折叠ToolbarListView外观是一半。它只是看起来像方。不过,我想看看他们全部。它应该向下延伸。 ListView可能有问题。我怎么解决这个问题?此外,使用ListView折叠工具栏

如果你不明白,我附加在图像中的这个问题。你会很容易理解! click

编辑:其实,ImageView通常是更广泛的,但因为我崩溃它似乎错在这里。在满的时候,ListView的方形外观像图像。

我的XML:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example./////"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     android:fitsSystemWindows="true"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:layout_width="match_parent" 
      android:layout_height="250dp" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" 
      app:contentScrim="@color/colorPrimary" 
      app:expandedTitleTextAppearance="@android:color/transparent" 
      android:fitsSystemWindows="true"> 

      <ImageView 
       app:layout_collapseMode="parallax" 
       android:src="@drawable/climbing" 
       android:contentDescription="@string/app_name" 
       android:scaleType="centerCrop" 
       android:layout_width="match_parent" 
       android:layout_height="250dp" /> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar2" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
       app:layout_collapseMode="pin"/> 
     </android.support.design.widget.CollapsingToolbarLayout> 
    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:clipToPadding="false" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" > 

     <android.support.v7.widget.CardView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="16dp" 
      app:cardElevation="10dp" 
      app:cardUseCompatPadding="true"> 

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

       <ListView 
        android:id="@+id/lstTask" 
        android:layout_width="match_parent" 
        android:layout_height="287dp" 
        android:layout_alignParentStart="true" 
        android:layout_alignParentTop="true" 
        android:layout_marginTop="12dp" 
        /> 
      </LinearLayout> 
     </android.support.v7.widget.CardView> 
    </android.support.v4.widget.NestedScrollView> 

<android.support.design.widget.FloatingActionButton 
    android:src="@drawable/edit" 
    app:backgroundTint="#6666ff" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:pressedTranslationZ="12dp" 
    app:layout_anchor="@id/app_bar_layout" 
    app:layout_anchorGravity="bottom|right|end" 
    app:elevation="6dp" 
    app:fabSize="mini" 
    android:id="@+id/action_add"/> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/savedHabits" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/add" 
     app:backgroundTint="#6666ff" 
     app:fabSize="mini" 
     app:elevation="6dp" 
     app:layout_anchor="@id/app_bar_layout" 
     app:layout_anchorGravity="bottom|left" 
     app:pressedTranslationZ="12dp" /> 
</android.support.design.widget.CoordinatorLayout> 
+0

就固定了'机器人:layout_height = “match_parent”'的'ListView'。 – KeLiuyue

+0

它不起作用。它看起来像:imgur.com/a/Y7PYr @KeLiuyue –

+0

Hi Batuhan Zurnaci,我改变了另一种方式来解决它。你可以试试看。 – KeLiuyue

回答

0

你可以这样做。

  1. 您更改此添加CustomListView

    public class CustomListView extends ListView { 
    
    public CustomListView(Context context) { 
        super(context); 
    } 
    
    public CustomListView(Context context, AttributeSet attrs) { 
        super(context, attrs); 
    } 
    
    public CustomListView(Context context, AttributeSet attrs, int defStyleAttr) { 
        super(context, attrs, defStyleAttr); 
    } 
    
    @TargetApi(Build.VERSION_CODES.LOLLIPOP) 
    public CustomListView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { 
        super(context, attrs, defStyleAttr, defStyleRes); 
    } 
    
    @Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
    int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2 
         , MeasureSpec.AT_MOST); 
        super.onMeasure(widthMeasureSpec, expandSpec); 
    } 
    } 
    
  2. 改变XML代码

<ListView 
    android:id="@+id/lstTask" 
    android:layout_width="match_parent" 
    android:layout_height="287dp" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="12dp"/> 

<!-- your package name--> 
<com.your.app.utils.CustomListView 
    android:id="@+id/lstTask" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="12dp"/> 
+0

它不起作用。它看起来像:http://imgur.com/a/Y7PYr –

+0

老兄你是伟大的。有用!真棒工作:) –

+0

我很高兴帮助你! – KeLiuyue