6

Tôi đang sử dụng CollapsingToolbarLayout với hai hình ảnh bên trong, một cho nền và một là biểu tượng trên. Ý tưởng là để làm cho họ cả hai thị sai. Điều này hoạt động tốt trong Android 5 trong các thiết bị vật lý, nhưng không phải trong các thiết bị (hoặc giả lập) với các phiên bản thấp hơn. Loại kỳ lạ.ImageView bên trong CollapsingToolbarLayout không hiển thị trong các thiết bị nhất định

Đây là cách bố trí của tôi:

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

    <NestedScrollView 
     android:id="@+id/scroll" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" > 

     <FrameLayout 
      android:id="@+id/fragment_container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:background="#fff"> 

      <!--content--> 
     </FrameLayout> 

    </NestedScrollView> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="400dp" 
     android:background="#222"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_scrollFlags="scroll"> 
      <ImageView 
       android:id="@+id/header_bk" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:src="@drawable/background" 
       android:scaleType="centerCrop" 
       app:layout_collapseMode="parallax" 
       app:layout_collapseParallaxMultiplier="0.7" 
       /> 
      <ImageView 
       android:id="@+id/header_logo" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:src="@drawable/ic_logo" 
       app:layout_collapseMode="parallax" 
       android:background="#44ff0000" 
       /> 
     </android.support.design.widget.CollapsingToolbarLayout> 
    </android.support.design.widget.AppBarLayout> 
</android.support.design.widget.CoordinatorLayout> 

Trả lời

8

Tôi tìm thấy một cách để làm cho nó hoạt động. Dường như có sự cố với lượt xem với wrap_content bên trong CollapsingToolbarLayout trong < 5 phiên bản Android. Thay đổi thành match_parent và sử dụng scale_type = "center" để làm cho hình ảnh ở giữa được định nghĩa đã giải quyết được vấn đề của tôi.

Đây là cách thay đổi cách bố trí hình ảnh:

<ImageView 
    android:id="@+id/header_logo" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:scaleType="center" 
    android:layout_gravity="center" 
    android:src="@drawable/ic_adi_logo" 
    app:layout_collapseMode="parallax" 
    /> 
Các vấn đề liên quan