Android Material Design AppBarLayout 的属性layout_scrollFlags 有问题

标签 android android-layout material-design

My Layout design look like initially

When I scoll my container then layout behaves annoyingly.

代码 fragment 如下。请帮助我哪里做错了。 我在这里使用圆形搜索栏和圆形 ImageView 。我也删除了这两个组件但没有成功。我还添加了一个类似此代码的代码,但在 10 种情况下有 3 到 4 种情况下它的行为是这样的。请指导我该怎么做。

    <?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"

    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/ic_media_player_songlist_bg">



    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"

        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:background="@android:color/transparent"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">




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

           >



            <LinearLayout
                app:layout_collapseMode="parallax"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:paddingBottom="50dp"
                android:background="#33811a6d"


              >


                <TextView
                    android:id="@+id/tv_song_name"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Tere Mast Mast Do Nain"
                    android:textColor="@color/c_white"
                    android:textSize="20sp"
                    android:layout_marginTop="10dp"
                    android:gravity="center_horizontal"/>

                <TextView
                    android:id="@+id/tv_singer_name"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Rahet Fateh Ali Khan"
                    android:textColor="@color/c_white"
                    android:textSize="16sp"
                    android:layout_marginTop="5dp"
                    android:gravity="center_horizontal"/>

                <TextView
                    android:id="@+id/tv_duration"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="00:00"
                    android:textColor="@color/c_white"
                    android:textSize="17sp"
                    android:layout_marginTop="10dp"
                    android:gravity="center_horizontal"/>

                <LinearLayout
                    android:orientation="horizontal"
                    android:gravity="center"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    >

                    <ImageView
                        android:id="@+id/iv_previous"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:padding="@dimen/d_dp_four_point"
                        android:layout_marginLeft="@dimen/d_dp_four_point"
                        android:src="@drawable/ic_media_player_back"/>



                    <RelativeLayout
                        android:id="@+id/rl_progress"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerHorizontal="true"
                        >

                        <com.mlsmooditt.custom_ui.CircularSeekBar
                            android:id="@+id/cs_seekbar"
                            android:layout_width="210dp"
                            android:layout_height="wrap_content"
                            app:start_angle="270"
                            app:end_angle="270"
                            app:circle_x_radius="130dp"
                            app:circle_y_radius="130dp"
                            app:use_custom_radii="true"
                            app:max="100"
                            app:circle_color="@color/c_white"
                            app:circle_progress_color="@color/c_progress_color"
                            app:pointer_alpha_ontouch="100"
                            app:pointer_color="@color/c_pink_seekbar"
                            app:pointer_halo_color="@android:color/transparent"
                            />

                        <com.mlsmooditt.custom_ui.RoundedImageView
                            android:id="@+id/iv_avatar"
                            android:layout_width="165dp"
                            android:layout_height="165dp"
                            android:scaleType="fitCenter"
                            android:layout_centerInParent="true"
                            android:src="@drawable/ic_album_paceholder"/>


                    </RelativeLayout>


                    <ImageView
                        android:id="@+id/iv_next"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_alignParentRight="true"
                        android:padding="@dimen/d_dp_four_point"
                        android:layout_marginRight="@dimen/d_dp_four_point"
                        android:src="@drawable/ic_media_player_next"/>


                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:weightSum="10"
                    android:layout_marginTop="10dp"
                    android:orientation="horizontal">

                    <ImageView
                        android:id="@+id/iv_quality"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="2.5"
                        android:layout_centerVertical="true"
                        android:layout_toRightOf="@+id/rl_progress"
                        android:src="@drawable/ic_media_player_quality"/>

                    <ImageView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="2.5"
                        android:layout_centerVertical="true"
                        android:layout_toRightOf="@+id/rl_progress"
                        android:src="@drawable/ic_media_player_repate"/>

                    <ImageView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="2.5"
                        android:layout_centerVertical="true"
                        android:layout_toRightOf="@+id/rl_progress"
                        android:src="@drawable/ic_media_player_suffle"/>

                    <ImageView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="2.5"
                        android:layout_centerVertical="true"
                        android:layout_toRightOf="@+id/rl_progress"
                        android:src="@drawable/ic_media_player_currentque"/>


                </LinearLayout>

            </LinearLayout>
            <android.support.v7.widget.Toolbar

                android:id="@+id/toolbar"
                app:layout_collapseMode="pin"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light" >

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


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

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






                <LinearLayout
                    android:id="@+id/ll_song_container"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">
                    <include layout="@layout/item_songs_list"></include>
                    <include layout="@layout/item_songs_list"></include>
                    <include layout="@layout/item_songs_list"></include>
                    <include layout="@layout/item_songs_list"></include>
                    <include layout="@layout/item_songs_list"></include>



                </LinearLayout>

    </android.support.v4.widget.NestedScrollView>



    <!--<LinearLayout-->
        <!--android:layout_width="match_parent"-->
        <!--android:layout_height="match_parent"-->
        <!--android:paddingLeft="10dp"-->
        <!--android:orientation="vertical"-->
       <!-- -->
       <!-->-->

        <!--<TextView-->
            <!--android:id="@+id/tv_song_list"-->
            <!--android:layout_width="match_parent"-->
            <!--android:layout_height="wrap_content"-->
            <!--android:text="@string/tv_songs_list"-->
            <!--android:textColor="@color/c_white"-->
            <!--android:textSize="18sp"-->
            <!--android:layout_marginTop="10dp"-->
            <!--/>-->


        <!--<View-->
            <!--android:layout_width="match_parent"-->
            <!--android:layout_height="1dp"-->
            <!--android:layout_marginTop="10dp"-->
            <!--android:background="@color/c_album_info_seperator"/>-->


        <!--<android.support.v7.widget.RecyclerView-->
            <!--app:layout_behavior="@string/appbar_scrolling_view_behavior"-->
            <!--android:id="@+id/recycler_view"-->
            <!--android:layout_width="match_parent"-->
            <!--android:layout_height="match_parent"-->
            <!--android:clipToPadding="false"-->
           <!--android:layout_marginTop="10dp"-->
            <!--/>-->


    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab_play_music"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_anchor="@id/appbar"
        app:layout_anchorGravity="bottom|right|end"
        android:layout_marginRight="@dimen/d_dp_big_point"
        android:src="@drawable/selector_play_pause"
        app:backgroundTint="@color/c_white" />



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

在 gradle 文件中我使用了以下库

compile 'com.android.support:design:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'

最佳答案

现在问题已经解决了。问题是通过线程将位图更新为圆形 ImageView 。它应该用 runOnUiThread 更新

runOnUiThread(new Runnable() {
    public void run() {
        Log.d("UI thread", "I am the UI thread");
    }
});

关于Android Material Design AppBarLayout 的属性layout_scrollFlags 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34635657/

相关文章:

java - Android : final local variable vs local variable 中的性能或优化

android-layout - 我必须用不同的颜色制作圆形 View 描边,每种颜色代表固定的百分比

javascript - 如何防止android表单跳过表单中的部分?

javascript - 自动完成未从对象属性 Angular 中检测到正确的值

jquery - 通过搜索选择 Material 设计

android - 为什么后台服务运行时会停止?

android - 使用展开动画打开 Activity

android - 显示错误的 ArrayAdapter 无法解决构造函数适配器错误

javascript - 如何构建响应式 Vuetify 应用栏

android - AAPT2 编译失败 : invalid dimen on Android 3. 0 Canary 1