5

Android サポート デザイン ライブラリを使用して、作業中のアプリのプロファイル ビューを作成しました。

プロフィールは、ヘッダー画像を背景にしたヘッダーと、中央に丸みを帯びたプロフィール画像で構成されています。また、ヘッダーの下隅に小さなビューがあります。

ヘッダーの下には、タブレイアウトを備えたビューページャーがあります。

私が直面している問題は、Android 5.1.1 と 5.0.2 以下の間に矛盾があることです。

5.1.1 Android を搭載した Nexus 5 でプロファイルがどのように表示されるかを次に示します。 ここには TabLayout は表示されません

Android 5.0.2 を搭載した Xperia Z2 でのプロファイルの表示方法は次のとおりです。 ヘッダーは、CollapsingToolbarLayout 内のビューを表示しません

コードは次のとおりです。

<FrameLayout
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"
android:fitsSystemWindows="true"
android:background="@color/white">

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

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

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/profile_collapsingtoolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:id="@+id/profile_header"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true"
                android:scaleType="centerCrop"
                app:layout_collapseMode="parallax"
                app:layout_scrollFlags="scroll|enterAlways"/>

            <com.makeramen.roundedimageview.RoundedImageView
                android:id="@+id/profile_image"
                android:layout_width="90dp"
                android:layout_height="90dp"
                app:riv_corner_radius="45dp"
                app:riv_border_color="@color/red"
                app:riv_border_width="1dp"
                android:layout_gravity="center"
                app:layout_collapseMode="none"
                app:layout_scrollFlags="scroll|enterAlways" />

            <FrameLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:layout_margin="5dp"
                android:layout_gravity="bottom|right"
                android:background="@drawable/shape_usertype_background">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="12sp"
                    android:textColor="@color/white"
                    android:text="Professional"/>
            </FrameLayout>

            <android.support.v7.widget.Toolbar
                android:id="@+id/profile_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:layout_scrollFlags="scroll|enterAlways"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/profile_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:paddingTop="45dp"/>

    <android.support.design.widget.TabLayout
        android:id="@+id/profile_tablayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        app:tabGravity="center"
        app:tabMode="scrollable"
        app:tabIndicatorColor="@color/red"
        app:tabTextColor="@color/main_dark"
        app:tabSelectedTextColor="@color/red"
        android:fitsSystemWindows="true"
        app:layout_anchor="@id/appbar"
        app:layout_anchorGravity="bottom"
        android:background="@color/white"
        />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/profile_floatingbutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:clickable="true"
        android:src="@android:drawable/ic_menu_share"
        app:backgroundTint="@color/red"
        app:layout_anchor="@id/profile_pager"
        app:layout_anchorGravity="bottom|right|end"
        app:rippleColor="@android:color/darker_gray"
        app:borderWidth="0dp"/>


</android.support.design.widget.CoordinatorLayout>
</FrameLayout>

それで、誰でもこれを修正する方法について考えがありますか?

ありがとう!

4

1 に答える 1

7

残念ながら、 Design Libraryは非常にバグが多いため、製品版ではなく「ベータ版」と見なす必要があります。アプリが実行されている Android のバージョンによって、外観と動作が異なります。私が見つけた問題はCoordinatorLayoutTextInputLayout. デザイン ライブラリが非常に新しい製品であることを知っているので、 Google のバグを回避する(修正しない)ことに自分の時間を費やす価値があるかどうかはわかりません。改善とバグ修正を期待して、ライブラリの次の反復を待つだけです。

于 2015-07-02T12:47:46.850 に答える