小编And*_*oid的帖子

LinearLayoutManager setReverseLayout()== true但是项目从底部堆叠

这似乎是一个简单的解决方案,但似乎设置

private RecyclerView mRecyclerView;
private RecyclerView.Adapter mAdapter;
private LinearLayoutManager mLayoutManager;

.... // More code

    mRecyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view);

    // Add item decoration
    mRecyclerView.addItemDecoration(new SpacesItemDecoration(DIVIDER_SPACE));

    // use this setting to improve performance if you know that changes
    // in content do not change the layout size of the RecyclerView
    mRecyclerView.setHasFixedSize(true);

    // use a linear layout manager
    mLayoutManager = new LinearLayoutManager(getActivity());
    mLayoutManager.setReverseLayout(true); // THIS ALSO SETS setStackFromBottom to true
    mRecyclerView.setLayoutManager(mLayoutManager);
Run Code Online (Sandbox Code Playgroud)

似乎还要从底部设置要堆叠的项目

我试图设置setStackFromBottom为false但是没有做任何事情,什么是扭转项目顺序但仍然从顶部填充的最佳方法?我应该使用Custom Comparator类吗?我希望这比创建另一个类更容易.

java reverse android layout-manager android-recyclerview

39
推荐指数
2
解决办法
4万
查看次数

在用户卸载应用程序上未删除SharedPreferences

有没有人在Nexus 6P设备上遇到过这个问题?我只是在Nexus 6P(运行Google Fi)上遇到此问题.

当我安装的应用程序有一个关键的userIsLoggedIn内部SharedPreferences.

这个块:

boolean userIsLoggedIn  = SharedPrefs.userIsLoggedIn(this);

// Then in another class...

 public static boolean userIsLoggedIn(Context context) {
    // For users updating apps, if the previous key-value is a string, convert it to boolean
    try {
        return context.getSharedPreferences(LOGIN_FILE, Context.MODE_PRIVATE)
                .getBoolean(USER_LOGGED_IN, false);
    } catch (ClassCastException e) {
        Logger.e(TAG, e.getMessage());
        context.getSharedPreferences(LOGIN, Context.MODE_PRIVATE)
                .edit()
                .putBoolean(USER_LOGGED_IN, false)
                .commit();
        return context.getSharedPreferences(LOGIN, Context.MODE_PRIVATE)
                .getBoolean(USER_LOGGED_IN, false);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在这应该返回false一个新的卸载,但在全新安装上调试它我在App Startup上得到以下内容.

在此输入图像描述

我也运行Proguard,如果这很重要,当在非proguard启用的APK上运行设备时它运行正常.在任何其他设备上运行proguard运行正常.

android sharedpreferences nexus-6p

39
推荐指数
3
解决办法
1万
查看次数

项目上的RecyclerView动画单击

我正在尝试实现我自己的recyclerview动画 - 我想在不使用任何外部库的情况下实现这一点.这是理论动画应该是什么样子.

在此输入图像描述

用户单击列表上的项目并发生动画,从而打开另一个视图.

在具有最少代码的高级别,可能只是伪代码,为了创建这样的动画,该过程将是什么?

另外我想要注意的是,如果用户点击相同的项目或其他项目,动画也应该能够反向完成

我对这门RecyclerView课程并不熟悉,并希望了解更多关于它以及与之相关的任何动画.

animation android touch onitemclick android-recyclerview

23
推荐指数
1
解决办法
2万
查看次数

在您向上滑动时向上滑动RecyclerView,或在向下滑动时向下滑动Recyclerview

我想创建一个Fragment带有RecyclerView滑动的项目,并在向上滑动时显示更多项目.

这是我正在谈论的一个例子.

初始创作:

在此输入图像描述

用户向上滑动RecyclerView向上滑动,显示更多项目:

在此输入图像描述

有几个问题,我想不使用一个CoordinatorLayout,我想把它设置到RecyclerView堆叠中的项目直接在上面EditText.

这是我使用的布局代码:

<android.support.design.widget.CoordinatorLayout
android:id="@+id/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"
android:visibility="visible">

<android.support.design.widget.AppBarLayout
    android:id="@+id/appBarLayout"
    android:layout_width="match_parent"
    android:layout_height="400dp"
    android:background="@android:color/transparent"
    android:fitsSystemWindows="true"
    android:orientation="vertical">

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

        <View
            android:id="@+id/emptyView"
            android:layout_width="match_parent"
            android:layout_height="400dp"
            android:background="@android:color/transparent"
            app:layout_collapseMode="parallax"/>

    </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="wrap_content"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

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

        <EditText
            android:id="@+id/editText"
            android:paddingLeft="16dp"
            android:inputType="textAutoCorrect"
            android:layout_centerVertical="true"
            android:background="@android:color/transparent"
            android:layout_width="match_parent"
            android:layout_height="56dp"/>

    </RelativeLayout>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我得到这样的东西:

在此输入图像描述

这绝对不可扩展,需要持续测量空视图.

android sliding android-recyclerview

17
推荐指数
2
解决办法
1164
查看次数

保持TextInputLayout始终聚焦或保持标签始终扩展

我想知道是否有可能始终保持标签扩展,无论是否有文本EditText.我在源头环顾四周,它是一个使用a ValueAnimator和一个counter内部TextWatcher来动画或不动画更改.也许我可以在里面设置一个自定义TextWatcher的自定义?ValueAnimatorEditTextTextInputLayout

android android-textinputlayout

17
推荐指数
3
解决办法
6979
查看次数

处理搜索的最佳实践

我有一个SearchView设置,我有一个松散的解耦架构使用RetrofitOtto.

我想知道Android中的搜索或者任何移动应用程序的最佳实践是什么(意味着类似的东西也可以应用于iOS).

具体来说,我正在使用一个AutoCompleteTextView来处理我的建议,SearchView数据直接来自API.我不相信这是一种最佳实践,因为每次用户更改文本时SearchView都会启动API调用.

我正在考虑在SQLite中存储一个Cache然后从那里ping结果,但是如果用户想要最直接的数据呢?你会怎么处理?采用什么样的模式?

非常感谢有关Android中搜索的最佳架构或方法的任何想法.

search android searchview otto

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

制作自定义SwipeRefreshLayout指标?

我如何制作一个自定义指标,使用带有自定义动画的可绘制对象SwipeRefreshLayout

我查看了源代码SwipeRefreshLayout,我注意到该CircleImageView对象是私有的.

反正有没有修改ImageView

android swiperefreshlayout

12
推荐指数
1
解决办法
1万
查看次数

启动带有proguard的签名版本APK时出现奇怪的NoClassDefFoundError错误

我试过的一些事情:

  • 删除Facebook依赖关系使应用程序不再崩溃,但它只显示一个空白的白色屏幕.这是通过proguard和multidex启用的.
  • 将gradle升级到最新版本并没有解决任何问题.我升级到gradle 2.0.0-beta4插件并且gradle 2.10.0.
  • 安装以前版本的Android Studio 1.5.1并没有解决任何问题.
  • 我已经安装了Java JDK 1.8,如果这是任何事情的线索.我还可以发布一些logcat日志来查看发生了什么.

MultiDexProguard启用时在我的应用程序中使用支持.

当我在没有启动proguard的情况下构建一个APK文件时,一切正常,并在我的Android手机上安装(我有超过8部手机,所以手机不是问题).

当我构建一个版本APK WITH proguard启用它在安装应用程序后在应用程序启动时崩溃.

我收到以下日志消息:

I/art: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.app.n>
I/art: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.app.n>
I/art: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.app.o>
I/art: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.app.o>
I/art: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.app.r>
I/art: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.app.r>
I/art: Rejecting re-init on previously-failed class java.lang.Class<com.facebook.FacebookActivity>
I/art: Rejecting re-init on previously-failed class java.lang.Class<com.facebook.FacebookActivity>
Run Code Online (Sandbox Code Playgroud)

我看到以下内容 …

android facebook noclassdeffounderror proguard

12
推荐指数
1
解决办法
2404
查看次数

从TextureView有效地获取位图

我试图从a获取每个帧TextureView,不幸的是尝试:

textureView.getBitmap();
Run Code Online (Sandbox Code Playgroud)

性能降低的结果是获得位图的更快方法.使用NDK更好吗?

寻找实际的例子

android textureview android-bitmap

11
推荐指数
1
解决办法
8788
查看次数

CoordinatorLayout中的ViewPager涵盖了API> = 21的其他视图

我正在使用CoordinatorLayoutGoogle新设计支持库中的新功能.

我有以下布局:

<android.support.design.widget.CoordinatorLayout>

<android.support.design.widget.AppBarLayout>

    <android.support.design.widget.CollapsingToolbarLayout
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            app:layout_collapseMode="parallax"/>

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

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

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

<LinearLayout
    app:layout_behavior="@string/appbar_scrolling_view_behavior" >

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

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager" />
</LinearLayout>

<com.getbase.floatingactionbutton.FloatingActionsMenu
    app:layout_anchor="@id/viewPager"
    app:layout_anchorGravity="bottom|right|end"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    >

    <com.getbase.floatingactionbutton.FloatingActionButton />

</com.getbase.floatingactionbutton.FloatingActionsMenu>


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

问题是,ViewPager总是叠加在FloatingActionMenuon上API >= 21,是否有解决方法?我尝试view.bringToFront()用来解决这个问题,但没有运气.我也动了Views四周,仍然没有运气.我试过的事情:

  • 移动FABMenu内部AppBarLayout
  • 移动FABMenu内部LinearLayout

没运气.

有没有人经历过类似的事?

android android-view android-viewpager android-coordinatorlayout

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