小编Nee*_*oni的帖子

窗口动画重叠Android 5.0上的导航栏

我正在使用自定义子类在我的应用程序中实现Material Design 底部工作表设计模式Dialog.对话框被吸引到屏幕的底部并使用y-translation窗口输入动画:

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:interpolator/decelerate_cubic">
    <translate android:fromYDelta="100%"
        android:toYDelta="0"
        android:duration="250" />
</set>
Run Code Online (Sandbox Code Playgroud)

在早期版本的Android,这看起来不错(如果我这样说我自己):对话顺利地从屏幕的底部,并从滑入的导航栏.

但是,在最新的5.0预览图像上,窗口动画发生在导航栏的顶部,因此对话框内容暂时与导航重叠.在这个特殊的用例中,它看起来很丑陋,很奇怪并且令人分心.

我可以在主题或代码中设置什么来防止这种情况发生?

android navigationbar android-animation translate-animation

16
推荐指数
1
解决办法
1785
查看次数

在Android中创建GIF需要很长时间

我正在创建一个应用程序,它突发捕获图像并创建一个GIF作为输出.我的问题是从图像序列创建GIF需要很长时间,无论图像的分辨率是多少320x240.我正在使用AnimatedGifEncoder类进行GIF编码.如下链接.

我创建GIF的代码如下

private void saveGifImage() {
    FileOutputStream outStream = 
    String fileName = "test.gif";

    try {
        File file = new File(Environment.getExternalStorageDirectory() + "/gif_convertor/sample/");
        if (!file.exists())
            file.mkdirs();
        File file1 = new File(file + File.separator + 
        if (file1.exists()) {

        } else {
            try {
                // file1.mkdirs();
                file1.createNewFile();
            } catch (Exception e) {
            }
        }
        outStream = new FileOutputStream(file1);
        Log.d("Location", file1.getPath().toString());

        outStream.write(generateGIF());
        outStream.close();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        DialogUtils.stopProgressDisplay();
    }
}

private byte[] generateGIF() …
Run Code Online (Sandbox Code Playgroud)

java android animated-gif

6
推荐指数
0
解决办法
287
查看次数

Websocket - IOException:打开的文件太多

我正在使用Spring boot的WebSocketConfigurer来创建websocket,按照以下代码创建一个在线系统.我的用户将连接到它,它将继续跟踪他们的存在.

@Configuration
@EnableWebSocket
public class WebSocketServerConfiguration implements WebSocketConfigurer {

private final PresenceListener presenceListener;
Logger logger = Logger.getLogger(WebSocketServerConfiguration.class.getName());

@Autowired
public WebSocketServerConfiguration(StringRedisTemplate stringRedisTemplate){
    this.presenceListener = new PresenceListener(stringRedisTemplate);
}

@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
    registry.addHandler(new WebSocketHandler() {
        @Override
        public void afterConnectionEstablished(WebSocketSession session) throws Exception {
            logger.info("afterConnectionEstablished:"+session.toString());
        }

        @Override
        public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
            //Some code inside
        }

        @Override
        public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
            logger.info("handleTransportError:" +session.toString());
        }

        @Override
        public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) …
Run Code Online (Sandbox Code Playgroud)

java spring-boot spring-websocket

5
推荐指数
0
解决办法
472
查看次数