标签: android-5.0-lollipop

Android-footer在CoordinatorLayout中使用时滚动屏幕

AppBarLayout滚动时,我有一个滚动屏幕RecyclerView.下方RecyclerView还有一个RelativeLayout是页脚.

页脚仅在向上滚动后显示 - 它表现得像它一样

layout_scrollFlags="scroll|enterAlways"
Run Code Online (Sandbox Code Playgroud)

但它没有任何滚动标志 - 它是一个错误还是我做错了什么?我希望它始终可见

在滚动之前

在此输入图像描述

滚动后

在此输入图像描述

更新

打开谷歌问题 - 它被标记为'WorkingAsIntended'这仍然没有帮助,因为我想要一个片段内的页脚的工作解决方案.

更新2

你可以在这里找到活动和片段xmls -

请注意,如果第34 activity.xml行 - 包含的行app:layout_behavior="@string/appbar_scrolling_view_behavior"被注释掉,则文本末尾从头开始可见 - 否则,只有在向上滚动后才可见

android android-5.0-lollipop android-design-library android-coordinatorlayout

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

带有ProgressBar的Endless RecyclerView用于分页

我正在使用一个RecyclerView并从API获取对象,批量为十.对于分页,我使用EndlessRecyclerOnScrollListener.

一切正常.现在剩下的就是在列表底部添加一个进度微调器,同时由API提取下一批对象.以下是Google Play商店应用的屏幕截图,其中显示了以下ProgressBar内容RecyclerView:

在此输入图像描述

问题是,在获取下一批对象时,既RecyclerView没有EndlessRecyclerOnScrollListener内置支持也没有显示ProgressBar底部的内置支持.

我已经看到了以下答案:

1. 将不确定的ProgressBar页脚放在RecyclerView网格中.

2. 添加项目到无尽的滚动RecyclerViewProgressBar在底部.

我不满意这些答案(由同一个人).这涉及null 在用户滚动时中途将对象拴入数据集中,然后在下一批次交付后将其取出.它看起来像是一个黑客,可以回避主要问题,可能会或可能不会正常工作.它会在列表中引起一些刺耳和失真

使用SwipeRefreshLayout不是解决方案.SwipeRefreshLayout涉及从顶部拉取以获取最新的项目,并且它无论如何都不显示进度视图.

有人可以为此提供一个很好的解决方案吗?我有兴趣知道Google是如何为自己的应用程序实现此功能的(Gmail应用程序也有此功能).是否有任何文章详细显示?所有的答案和评论将不胜感激.谢谢.

其他一些参考:

1. 分页RecyclerView.(精湛的概述......)

2. RecyclerView页眉和页脚.(更多相同......)

3. 无尽RecyclerViewProgressBar在底部.

android android-listview android-progressbar android-5.0-lollipop android-recyclerview

57
推荐指数
3
解决办法
4万
查看次数

Google In-App结算,IllegalArgumentException:升级到Android L Dev预览后,服务意图必须明确

我的应用内结算代码工作正常,直到我升级到Android L Dev Preview.现在,当我的应用程序启动时出现此错误.有没有人知道L导致了什么变化或者我应该如何更改我的代码来解决这个问题?

android {
compileSdkVersion 'android-L'
buildToolsVersion '20'
defaultConfig {
    minSdkVersion 13
    targetSdkVersion 'L'
...
...


compile 'com.google.android.gms:play-services:5.+'
compile 'com.android.support:support-v13:21.+'
compile 'com.android.support:appcompat-v7:21.+'
...
...
Run Code Online (Sandbox Code Playgroud)

应用启动时的错误:

06-29 16:22:33.281    5719-5719/com.tbse.wnswfree D/AndroidRuntime? Shutting down VM
06-29 16:22:33.284    5719-5719/com.tbse.wnswfree E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.tbse.wnswfree, PID: 5719
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tbse.wnswfree/com.tbse.wnswfree.InfoPanel}: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.android.vending.billing.InAppBillingService.BIND }
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2255)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2317)
        at android.app.ActivityThread.access$800(ActivityThread.java:143)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5070)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372) …
Run Code Online (Sandbox Code Playgroud)

android illegalargumentexception android-intent in-app-billing android-5.0-lollipop

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

java.lang.Object中的'shadow $ _klass_'和'shadow $ _monitor_'变量是什么?

在最新的Android更新(SDK 21)中,似乎已向java.lang.Object添加了2个新变量:

private transient Class<?> shadow$_klass_;
private transient int shadow$_monitor_;
Run Code Online (Sandbox Code Playgroud)

我注意到它java.lang.Object被简要地用于shadow$_monitor_:

public int hashCode() {
    int lockWord = shadow$_monitor_;
    final int lockWordMask = 0xC0000000;  // Top 2 bits.
    final int lockWordStateHash = 0x80000000;  // Top 2 bits are value 2 (kStateHash).
    if ((lockWord & lockWordMask) == lockWordStateHash) {
        return lockWord & ~lockWordMask;
    }
    return System.identityHashCode(this);
}
Run Code Online (Sandbox Code Playgroud)

但除此之外没有提及它们.它们是否与ART中的GC有关?还是某种原生的东西?

java android art-runtime android-5.0-lollipop

56
推荐指数
1
解决办法
6439
查看次数

如何在ripple drawable中设置state_selected

如何android:state_selectedRippleDrawable中指定

我有跟随xml的ripple drawable但我设置时没有显示背景颜色 myView.setSelected(true);

<?xml version="1.0" encoding="utf-8"?>
<ripple
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#DDDDDD"
    >

    <item android:id="@android:id/mask">
        <shape>
            <solid
                android:color="@color/black" />
        </shape>
    </item>


    <item android:state_selected="true">
        <shape>
            <solid
                android:color="#EEEEEE" />
        </shape>
    </item>


    <item>
        <color android:color="#FFFFFF" />
    </item>

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

android rippledrawable android-5.0-lollipop

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

Listview选择器与彩色背景和涟漪效果

ListViewandroid L开发人员预览中的标准选择器colorControlHighlight用于触摸时的涟漪效果,并且在未聚焦状态下具有透明背景.

我想定义一个ListView具有彩色背景的项目,并且仍然使用相同的高亮颜色显示触摸时的涟漪效果.现在,如果我定义以下drawable:

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="?android:colorControlHighlight">
    <item android:drawable="@color/my_background_color"/>
</ripple>
Run Code Online (Sandbox Code Playgroud)

它起作用,但ListView无论触摸位置如何,纹波都从物品的中间开始.如果我使用相同的背景ListView,例如a LinearLayout,它就像预期的那样工作(波纹从触摸位置开始).

android listview material-design rippledrawable android-5.0-lollipop

55
推荐指数
2
解决办法
5万
查看次数

android棒棒糖工具栏:如何在滚动时隐藏/显示工具栏?

我正在使用appcompat/support-v7中引入的新工具栏小部件.我想隐藏/显示工具栏,具体取决于用户是否在页面上下滚动,就像在新的Google Playstore应用程序或NewsStand应用程序中一样.工具栏小部件中是否有内置的东西,或者我应该将它与FrameLayout和ObservableScrollView结合使用?

material-design android-5.0-lollipop android-toolbar

55
推荐指数
5
解决办法
10万
查看次数

Android FAB plus标志不存在于android drawable上

我在哪里可以找到浮动动作按钮中心的加号?

它是由Android制作还是我需要自己做?

android material-design floating-action-button android-5.0-lollipop android-6.0-marshmallow

54
推荐指数
5
解决办法
4万
查看次数

自定义半透明Android ActionBar

我一直在搜索互联网(例如Android文档,这里的答案等),以获得我认为是一个相当微不足道的问题的答案.您如何实现像Google音乐YouTube中的半透明操作栏(链接是图像示例)?

我希望视频内容是全屏的,不受操作栏的约束/推送,同时仍然利用内置UI组件的优势.我显然可以使用完全自定义的视图,但如果可能的话,我宁愿利用ActionBar.

表现

<activity
    android:name="videoplayer"
    android:theme="@android:style/Theme.Holo"
    android:launchMode="singleTop"
    android:configChanges="keyboardHidden|orientation"/>
Run Code Online (Sandbox Code Playgroud)

活动

// Setup action bar
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
View customActionBarView = getLayoutInflater().inflate(R.layout.player_custom_action_bar, null);
actionBar.setCustomView(customActionBarView,
                        new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,
                                                   R.dimen.action_bar_height));
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
Run Code Online (Sandbox Code Playgroud)

菜单

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/button1"
        android:icon="@drawable/button1"
        android:showAsAction="always"/>

    <item
        android:id="@+id/button2"
        android:icon="@drawable/button2"
        android:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

自定义ActionBar视图

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/custom_action_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center"
    android:background="@color/TranslucentBlack">

    <!--Home icon with arrow-->
    <ImageView
        android:id="@+id/home"
        android:src="@drawable/home"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"/>

    <!--Another image-->
    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:visibility="visible"/>

    <!--Text if no image-->
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center_vertical"
        android:visibility="gone"/>

    <!--Title--> …
Run Code Online (Sandbox Code Playgroud)

android android-3.0-honeycomb android-4.0-ice-cream-sandwich android-actionbar android-5.0-lollipop

53
推荐指数
5
解决办法
5万
查看次数

Android Switch小部件textOn和textOff在Lollipop中不起作用

Lollipop(5.0)中切换小部件的行为已更改.

    <Switch
        android:id="@+id/switcher"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_marginBottom="16dp"
        android:layout_marginRight="8dp"
        android:layout_marginEnd="8dp"
        android:layout_toEndOf="@id/another_view"
        android:layout_toRightOf="@id/another_view"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:textOff="@string/disabled"
        android:textOn="@string/enabled"
        android:fontFamily="sans-serif-condensed"
        />
Run Code Online (Sandbox Code Playgroud)

targetSdkVersion = 19时渲染切换:

在此输入图像描述

targetSdkVersion = 21时渲染切换:

在此输入图像描述

请注意,Android Studio中的预览渲染仍会生成带文本的开关,但是当使用Lollipop(Nexus 5)在设备上运行使用targetSdkVersion = 21构建的apk时,开关会丢失文本.在同一个Lollipop设备上运行使用targetSdkVersion = 19构建的apk,可以按预期正确显示开关.

为什么?任何建议的解决方法?

android android-switch android-5.0-lollipop

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