小编Lib*_*bin的帖子

CoordinatorLayout与RecyclerView和CollapsingToolbarLayout

我一直在尝试使用RecyclerView实现一个CollapsingToolbar,使用少量的指导:http://android-developers.blogspot.co.uk/2015/05/android-design-support-library.html和项目这里:https://github.com/chrisbanes/cheesesquare,我目前有以下布局:

<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.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/detail_backdrop_height"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:fitsSystemWindows="true">

    <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"
        android:fitsSystemWindows="true"
        app:theme="@style/Toolbar"
        app:contentScrim="@color/primary"
        app:expandedTitleMarginStart="48dp"
        app:expandedTitleMarginEnd="64dp">

        <ImageView
            android:id="@+id/backdrop"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:fitsSystemWindows="true"
            app:layout_collapseMode="parallax" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            app:theme="@style/Toolbar"
            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.v7.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

<android.support.design.widget.FloatingActionButton
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    app:layout_anchor="@id/appbar"
    app:layout_anchorGravity="bottom|right|end"
    android:src="@drawable/ic_directions"
    android:layout_margin="@dimen/fab_margin"
    android:clickable="true"/>

 </android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

来源如下:

    setContentView(R.layout.activity_details_image);
    final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    loadImage();
    CollapsingToolbarLayout collapsingToolbar =
            (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar); …
Run Code Online (Sandbox Code Playgroud)

java xml android android-appcompat android-design-library

47
推荐指数
2
解决办法
3万
查看次数

RecyclerView滚动了UP/DOWN监听器

我们如何知道用户是向下滚动还是向上滚动RecyclerView

我尝试过RecyclerView#OnScrollListener,它给出了垂直滚动量和滚动状态.滚动状态空闲时,如何在开始拖动和滚动位置时获取最后一个滚动位置.

谢谢.

java android onscrolllistener android-recyclerview

41
推荐指数
4
解决办法
7万
查看次数

14
推荐指数
1
解决办法
4016
查看次数

screenOrientation portrait和userPortrait有什么区别

我需要知道的真正的区别screen orientation userPortraitportrait.什么时候用?

什么时候?

 android:screenOrientation="portrait"
Run Code Online (Sandbox Code Playgroud)

什么时候?

 android:screenOrientation="userPortrait"
Run Code Online (Sandbox Code Playgroud)

android android-orientation

13
推荐指数
1
解决办法
5916
查看次数

如何在RecyclerView上使用SwipeDismissBehavior.OnDismissListener

我正在尝试使用SwipeDismissBehavoirfrom design support库.我列出的项目RecyclerView和刷一个项目必须解雇(如谷歌收件箱应用程序).

我已经设置了RecyclerView项目的监听器,但是SwipeDismissBehavior onDismiss监听器没有被调用.

  SwipeDismissBehavior behavior = new SwipeDismissBehavior();

    CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams)mItemLayout.getLayoutParams();
    params.setBehavior(behavior);
    behavior.setListener(new SwipeDismissBehavior.OnDismissListener() {
        @Override
        public void onDismiss(View view) {

        }

        @Override
        public void onDragStateChanged(int i) {

        }
    });
    mItemLayout.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)

android android-design-library

12
推荐指数
2
解决办法
5374
查看次数

Android - View.getResources()和View.getContext()之间的区别.getResources()

我想了解使用View.getResources()和的真正区别View.getContext().getResources().

例如,我必须将颜色设置为TextView来自资源.

view.setTextColor(view.getResources().getColor(R.color.Blue));
Run Code Online (Sandbox Code Playgroud)

要么

view.setTextColor(view.getContext().getResources().getColor(R.color.Blue));
Run Code Online (Sandbox Code Playgroud)

两者都有效,但根据文件......

View.getResources() - 返回与此视图关联的资源.

View.getContext() - 返回运行视图的上下文,通过它可以访问当前主题,资源等.

欢迎你的想法......

android android-view

9
推荐指数
1
解决办法
5657
查看次数

如何以编程方式而不是菜单xml将子菜单项添加到NavigationView

我正在尝试submenuNavigationView编程方式添加项目.我可以添加项目menu但不能添加submenu

添加项目到菜单工作

Menu menu = mNavigationView.getMenu();
menu.add(Menu.NONE, Menu.NONE, index, "Menu Item1");
Run Code Online (Sandbox Code Playgroud)

但是将项目添加到子菜单不起作用

Menu menu = mNavigationView.getMenu();
SubMenu subMenu = menu.addSubMenu("Sub menu title");
subMenu.add(Menu.NONE, Menu.NONE, index, "SubMenu Item1");
Run Code Online (Sandbox Code Playgroud)

android android-menu android-design-library

8
推荐指数
1
解决办法
6794
查看次数

棉花糖(23)+ RecyclerView(23.1.0)在删除项目后滚动混乱上面的内容(notifyItemRemoved)

RecyclerView如果与建立搞砸Marshmallow (Android 23).

我使用RecyclerView填充的项目列表,当向右滑动将删除该项目.删除该项目工作正常.但是RecyclerView在删除项目后向上滚动会在删除的项目上方的项目上创建空白区域.

我在这里使用示例项目https://github.com/chrisbanes/cheesesquare与最新的Android版本(Marshmallow)

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    applicationId "com.support.android.designlibdemo"
    minSdkVersion 9
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
 }
}
Run Code Online (Sandbox Code Playgroud)

并添加滑动以关闭代码

private void setItemDismiss(final RecyclerView recyclerView) {
    ItemTouchHelper.SimpleCallback simpleCallback = new ItemTouchHelper.SimpleCallback(ItemTouchHelper.RIGHT, ItemTouchHelper.RIGHT) {
        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
            int position = viewHolder.getAdapterPosition();
            ((SimpleStringRecyclerViewAdapter)recyclerView.getAdapter()).removeItemAt(position);
        }
    };

    ItemTouchHelper itemTouchHelper = …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview android-6.0-marshmallow

5
推荐指数
1
解决办法
1475
查看次数

PopupWindow输入退出动画不在Marshmallow上工作(23)

我已进入/退出动画风格为PopupWindow这样的

 mPopupWindow.setAnimationStyle(R.style.PopupAnimation);
Run Code Online (Sandbox Code Playgroud)

和风格一样

<style name="PopupAnimation" parent="Widget.AppCompat.PopupWindow">
    <item name="android:windowEnterAnimation">@anim/popup_show</item>
    <item name="android:windowExitAnimation">@anim/popup_hide</item>
</style>
Run Code Online (Sandbox Code Playgroud)

因此,当PopupWindow显示/隐藏时,它具有适用于Lollipop以及所有以前的Android版本的动画.但随着Marshmallow动画时间间隔后弹出窗口显示并且没有动画效果.

动画/弹出窗口show.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0"
    android:toAlpha="1.0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:duration="1000"/>
</set>
Run Code Online (Sandbox Code Playgroud)

动画/弹出窗口hide.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="1.0"
    android:toAlpha="0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:duration="1000"/>
</set>
Run Code Online (Sandbox Code Playgroud)

android android-animation android-popupwindow android-6.0-marshmallow

5
推荐指数
1
解决办法
801
查看次数

AndroidTest从命令行运行时失败:app:connectedDebugAndroidTest

我正在使用android spring RestTemplate在我的应用程序上进行REST服务调用.我添加了android Instrumentation测试,其中包括模拟REST服务调用.从android studio运行时,我的所有测试运行正常,但测试无法在终端使用时加载spring mock类

   ./gradlew clean :app:connectedDebugAndroidTest
Run Code Online (Sandbox Code Playgroud)

spring.gradle上的spring测试依赖项

    androidTestCompile("org.springframework:spring-test:3.2.8.RELEASE")
Run Code Online (Sandbox Code Playgroud)

如果我改为compile而不是androidTestCompile,Android测试从终端正常运行.由于我不希望这种依赖我的生产APK任何帮助,赞赏.

这是开始测试时的日志

08-05 00:04:12.585 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.asm.commons.JSRInlinerAdapter 08-05 00:04:12.587 22274-22302/com.libin .androiduitesting E/TestLoader:找不到类:org.springframework.asm.commons.TryCatchBlockSorter 08-05 00:04:12.593 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework. cglib.transform.AbstractProcessTask 08-05 00:04:12.593 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.cglib.transform.AbstractTransformTask 08-05 00:04:12.603 22274- 22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.core.convert.support.ConvertingPropertyEditorAdapter 08-05 00:04:12.610 22274-22302/com.libin.androiduitesting E/TestLoader:无法find class:org.springframework.core.io.ResourceEditor 08-05 00:04:12.611 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.spring framework.core.io.support.ResourceArrayPropertyEditor 08-05 00:04:12.617 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.http.MockHttpInputMessage 08-05 00:04 :12.618 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.http.MockHttpOutputMessage 08-05 00:04:12.618 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.http.client.MockClientHttpRequest 08-05 00:04:12.618 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.http. client.MockClientHttpResponse 08-05 00:04:12.618 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.jndi.ExpectedLookupTemplate 08-05 00:04:12.619 22274-22302/com.libin.androiduitesting E/TestLoader:找不到类:org.springframework.mock.jndi.SimpleNamingContext 08-05 00:04:12.619 22274-22302/com.libin.androiduitesting …

android spring-test android-espresso spring-android android-instrumentation

5
推荐指数
1
解决办法
1084
查看次数