小编Kel*_*dos的帖子

RecyclerView中类似寻呼机的行为

我正在尝试为水平实现类似ViewPager的行为RecyclerView.来自适配器的数据应该正常膨胀和绑定,但是Recycler应该以不同方式处理通过它的导航.当用户滑动(或尝试滚动)时,我Recycler向该方向移动一个项目,将其粘贴到左侧.

我已经拥有了所有项目转换逻辑.我正在使用一个自定义LayoutManager,它覆盖onSmoothScrollToPosition()了一个自定义LinearSmoothScroller()项目,左边的项目粘贴.

问题是 - 如何覆盖RecyclerView滑动的滚动行为并自己处理它们?我尝试禁用滚动LayoutManager然后拦截手势onTouchListener,但这似乎不起作用.RecyclerView框架是否有一个干净的方法来处理这个问题?

android android-recyclerview

10
推荐指数
2
解决办法
5676
查看次数

在Android Studio 2.3中运行覆盖测试

在新版本的Android Studio 2.3 Canary中,我不再使用"Run with Coverage ..."选项进行测试.

有没有人知道该选项是否以某种方式集成到另一个机制中,还是完全删除了

我希望不会,那会非常糟糕,因为我在使用Robolectric进行TDD时非常依赖它:-(虽然在编辑器背景中放置图片的选项很好 - 让猫盯着我看8小时很酷 - 不是获得覆盖率报告是一个相当高的代价...... :-(

junit robolectric android-studio test-coverage

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

在Horizo​​ntalScrollView中使用RecyclerView的2D列表

我正在尝试构建一个视图,允许用户在水平和垂直方向上滚动类似Excel的结构.我最初的想法是将RecyclerView(带有LinearManager)放入Horizo​​ntalScrollView.但它似乎没有用.

这是我的代码:

<RelativeLayout 
    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.support.v7.widget.Toolbar
        android:id="@+id/gameplay_Toolbar"
        android:layout_width="match_parent"
        android:layout_height="56dp"
        android:background="@color/accent"
        app:title="@string/gameplay_score_toolbar"
        app:titleMarginStart="48dp"
        app:titleTextAppearance="@style/toolbar_title" />

    <HorizontalScrollView
        android:id="@+id/gameplay_hotizontalScroll_ScrollView"
        android:layout_below="@+id/gameplay_Toolbar"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="5dp"
        android:layout_marginLeft="5dp"
        android:fillViewport="true"
        >

        <android.support.v7.widget.RecyclerView
            android:id="@+id/gameplay_gameContents_RecyclerView"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"/>

    </HorizontalScrollView>

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

现在它只允许Recycler滚动,Horizo​​ntalScrollView似乎就像一个普通的FrameLayout(因为Recycler里面的视图正在剪切到边缘).

我认为我在Recycler中提出的观点具有固定的大小可能是相关的.

有关如何使这个概念起作用的任何提示?

android horizontalscrollview parallax android-recyclerview

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

使用Java创建视频播放器

我需要为我的项目使用Java创建一个视频播放器.我已经在互联网上查了很多例子.其中一些运行,但没有显示任何屏幕,我只能听到视频的声音.请帮我解决这个问题......

我使用以下导入

import javax.media.*;
Run Code Online (Sandbox Code Playgroud)

编辑:下面是我使用的代码:

import java.awt.*;
 import java.awt.event.*;
 import java.io.*;
 import javax.swing.*;
 import javax.media.*;

 public class MediaPlayerDemo extends JFrame 
 {
     private Player player;
     private File file;

     public MediaPlayerDemo()
     {
         super( "Demonstrating the Java Media Player" );

         JButton openFile = new JButton( "Open file to play" );
         openFile.addActionListener( new ActionListener() 
         {
             public void actionPerformed( ActionEvent e )
             {
                 openFile();
                 createPlayer();
             }
         });
         getContentPane().add( openFile, BorderLayout.NORTH );

         setSize( 300, 300 );
         show();
     }

     private void openFile()
     {
         JFileChooser fileChooser = new …
Run Code Online (Sandbox Code Playgroud)

java video-player

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

在 Android TV 上监听 HDMI 插入和拔出事件

我需要接收 Android TV 应用程序的 HDMI 状态事件。

我在几个地方找到了这段代码:

public class HdmiListener extends BroadcastReceiver {

    private static String HDMIINTENT = "android.intent.action.HDMI_PLUGGED";

    @Override
    public void onReceive(Context ctxt, Intent receivedIt) {
        String action = receivedIt.getAction();

        if (action.equals(HDMIINTENT)) {
            boolean state = receivedIt.getBooleanExtra("state", false);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

清单中包含以下内容:

<receiver android:name="[package].HdmiListener" >
    <intent-filter>
        <action android:name="android.intent.action.HDMI_PLUGGED" />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

但这不起作用。广播接收器永远不会被触发。

我对 AOSP 和其他项目进行了一些挖掘,并能够提出一个更完整版本的清单条目:

    <permission android:name="android.permission.TV_INPUT_HARDWARE"
        android:protectionLevel="signatureOrSystem"
        tools:ignore="SignatureOrSystemPermissions" />

    <permission android:name="android.permission.CAPTURE_TV_INPUT"
        android:protectionLevel="signatureOrSystem"
        tools:ignore="SignatureOrSystemPermissions" />

    <receiver android:name="[package].HdmiListener"
        android:enabled="true"
        android:exported="true" >
        <intent-filter>
            <action android:name="android.intent.action.HDMI_PLUG" />
            <action android:name="android.intent.action.HDMI_PLUGGED" /> …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver android-tv android-broadcastreceiver

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

如何在Android Studio 1.0中设置Robolectric

我是Android开发人员和TDD热衷.最近,我了解了一个新的测试框架Robolectric,它似乎远远优于Android Studio默认提供的JUnit 3解决方案.我想设置它,但经过多次尝试,失败后java.lang.RuntimeException: Stub!我什么也没做到.

这是我的问题:

如何在Andoird Studio 1.0上逐步设置Robolectric测试框架?请注意:

  • 我不需要模糊的想法或提示.我需要一个完整的解决方案
  • 我无法提供之前尝试的任何代码,因为它没用,已经删除.

此框架的设置非常有问题,并且在不同版本的Android Studio和IntelliJ之间存在许多问题.我浏览了所有这些,但无济于事.我需要在Android Studio 1.0上成功使用该框架的人的帮助.

tdd android junit4 robolectric

4
推荐指数
1
解决办法
3540
查看次数

如何使用 Room 正确处理线程

我对Room感到困惑,无法在文档中找到答案。

因此,库在单独的线程上强制使用查询,这是可以理解的。但是,Delete 查询似乎不包含在此限制中,可以从 UI 线程自由调用。它们也总是返回原始输出值,而没有机会将其包装在 Observable 中。

什么是用在删除调用正确的方法客房然后?它应该在单独的线程上运行吗?如果不是,那么性能和并发修改呢?

android android-thread android-room

4
推荐指数
1
解决办法
3834
查看次数

Volley请求队列中的响应顺序是什么?

我有一个for循环,它创建了不同的url,然后我使用add函数推送Volley RequestQueue中的url.我有一个问题,响应列表器是否会按照添加到RequestQueue的请求的顺序进行响应,或者它将是随机的,基于请求的服务器响应?我正在使用VolleySingleton方法.

android android-volley

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

Firebase远程配置-检查值是否存在

我想在我的应用程序中为某些布尔值实现某种代理。逻辑如下:

  1. 我从后端收到一组值
  2. 我也在Firebase中设置了其中一些值
  3. 在应用程序中使用值时,我首先检查Firebase中是否存在该值

    3.1。如果存在,请使用Firebase值

    3.2。如果不存在,则取后端值

问题是-如何检查Firebase远程配置中是否存在该值?

android firebase firebase-remote-config

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

CoordinatorLayout中嵌套的RecyclerViews

View现在正在处理的应用程序中存在层次结构问题.

其中一个屏幕看起来像这样:

<CoordinatorLayout>

    <AppBarLayout>
        <Toolbar/>
    </AppBarLayout>

    <RecyclerView>
        ... items, some of which are horizontal Recyclers...
    </RecyclerView>

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

整个想法是Toolbar在向下滚动RecyclerView内容时很好地拥有视差.

整个过程工作得很好,但是提到的视差行为存在问题(这是通过自定义AppBarLayout.ScrollingViewBehavior实现完成的).

有两种情况,具体取决于用户在滚动时关注的项目:

  1. 如果一个正常的孩子聚焦,整个事情就像预期的那样 - Toolbar进出视差.
  2. 如果聚焦基于Recycler的孩子,内容RecyclerView将按预期滚动,但视差行为不会触发,使布局处于奇怪的中间状态.

知道为什么会这样,以及如何获得正确的行为,也就是事件一直传递到CoordinatorLayout

android parallax material-design android-recyclerview android-coordinatorlayout

0
推荐指数
1
解决办法
598
查看次数