小编U A*_*los的帖子

用于覆盖onMeasure()的专有方法?

覆盖onMeasure()的正确方法是什么?我见过各种方法.例如,Professional Android Development使用MeasureSpec计算维度,然后调用setMeasuredDimension()结束.例如:

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
this.setMeasuredDimension(parentWidth/2, parentHeight);
}
Run Code Online (Sandbox Code Playgroud)

另一方面,根据这篇文章,"正确"的方法是使用MeasureSpec,调用setMeasuredDimensions(),然后调用setLayoutParams(),最后调用super.onMeasure().例如:

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
this.setMeasuredDimension(parentWidth/2, parentHeight);
this.setLayoutParams(new *ParentLayoutType*.LayoutParams(parentWidth/2,parentHeight));
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
Run Code Online (Sandbox Code Playgroud)

那么哪种方式正确?这两种方法都没有对我有效.

我想我真正想要的是有没有人知道一个解释onMeasure(),布局,子视图尺寸等的教程?

android android-layout

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

Android的关键是什么?

我用Google搜索,无法找到定义.像往常一样,Android文档非常"有启发性".

android keyguard

64
推荐指数
2
解决办法
13万
查看次数

在kotlin中转换地图的惯用法?

在Scala中,它只是map功能.例如,如果hashMap是字符串的hashMap,那么您可以执行以下操作:

val result : HashMap[String,String] = hashMap.map(case(k,v) => (k -> v.toUpperCase))
Run Code Online (Sandbox Code Playgroud)

但是,在Kotlin中,map将地图转换为列表.在Kotlin有同样的方式做同样的事情吗?

hashmap kotlin

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

硬件加速FFmpeg在Android上?

我为Android编译了一个旧版本的FFmpeg(如果我没记错的话是0.6.X).FFmpeg解码视频帧,缩放它,然后我使用OpenGL在屏幕上绘制它.据我所知,问题在于解码和缩放 - 它们不是硬件加速的.

我的问题是:

  1. 最新版本的FFmpeg硬件加速了ARM(Android)处理器吗?
  2. 我是以错误的方式来做这件事的吗?也就是说,有更好的方法吗?"这个"正在播放h264高清视频作为视频动态壁纸---帧速率需要很高,因此无论何时可用,都需要硬件加速.

android ffmpeg video-codecs hardware-acceleration live-wallpaper

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

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

处理NodeJS中长时间运行的进程?

我已经看到一些较旧的帖子涉及这个主题,但我想知道当前的现代方法是什么.

用例是:(1)假设你想要做一个长期运行的任务上的视频文件,说60秒,也就是说jspm install,可以采取长达60秒.(2)你不能细分任务.

其他要求包括:

  • 需要知道任务何时完成
  • 很高兴能够停止正在运行的任务
  • 稳定性:如果一个任务死亡,它不会关闭服务器
  • 需要能够处理100个同时请求

我见过这些提到的解决方案:

哪种是现代的,基于标准的方法?此外,如果nodejs不适合这种类型的任务,那么这也是一个有效的答案.

multithreading multiprocessing web-worker node.js

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

在golang/reflect中访问未导出的字段?

有没有办法使用Reflect访问go 1.8中未导出的字段?这似乎不再起作用:https://stackoverflow.com/a/17982725/555493

请注意,reflect.DeepEqual工作正常(也就是说,它可以访问未导出的字段),但我无法做出该功能的正面或反面.这是一个go playarea,它显示了它的实际效果:https://play.golang.org/p/vyEvay6eVG.src代码如下

import (
"fmt"
"reflect"
)

type Foo struct {
  private string
}

func main() {
    x := Foo{"hello"}
    y := Foo{"goodbye"}
    z := Foo{"hello"}

    fmt.Println(reflect.DeepEqual(x,y)) //false
    fmt.Println(reflect.DeepEqual(x,z)) //true
}
Run Code Online (Sandbox Code Playgroud)

reflection go private-members

9
推荐指数
3
解决办法
7547
查看次数

为什么 Flutter IconButton 动画显示在行下

在我的应用程序中,我设置了一个 IconButton 来渲染具有彩色背景的 Row。不幸的是,按下按钮时的波纹动画会在 Row 下呈现(如截屏视频所示)。我如何在 Row 上显示涟漪?

class Card extends StatelessWidget {
final Issue issue;
Color _bgColor;

Card({this.issue}) {
  _bgColor = colorSwatch[issue.hashCode % colorSwatch.length];
}

@override
Widget build(BuildContext context) {
  return Container(
    margin: EdgeInsets.only(top: 12, left: 18, right: 18),
    padding: EdgeInsets.only(top: 8, bottom: 8),
    decoration: new BoxDecoration(
      color: _bgColor,
      border: new Border.all(color: _bgColor),
      borderRadius: BorderRadius.all(
          Radius.circular(10.0) 
          ),
    ),
    child: Row(children: [
      IconButton(
        padding: EdgeInsets.only(right: 16),
        icon: Icon(Icons.play_arrow, color: Colors.white, size: 48),
        tooltip: 'Start ${issue.issueName}',
        onPressed: () {},
      ),
      Expanded( …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-animation

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

不满意的LIKError使用NDK链接到FFMPEG

我使用bambuser的文件编译了FFMPEG for android.编译运行正常.没有错误.我还确保在b​​uild.sh中更改包名称.但是,一旦我尝试链接到文件,手机就会抛出UnsatisfiedLinkError.这是Androkd.mk文件:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
MY_LIB_PATH := ffmpeg-android/build/ffmpeg/armeabi/lib
LOCAL_MODULE := bambuser-libavcore
LOCAL_SRC_FILES := $(MY_LIB_PATH)/libavcore.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := bambuser-libavformat
LOCAL_SRC_FILES := $(MY_LIB_PATH)/libavformat.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := bambuser-libavcodec
LOCAL_SRC_FILES := $(MY_LIB_PATH)/libavcodec.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := bambuser-libavdevice
LOCAL_SRC_FILES := $(MY_LIB_PATH)/libavdevice.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := bambuser-libavfilter
LOCAL_SRC_FILES := $(MY_LIB_PATH)/libavfilter.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := bambuser-libavutil
LOCAL_SRC_FILES := $(MY_LIB_PATH)/libavutil.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := bambuser-libswscale
LOCAL_SRC_FILES := $(MY_LIB_PATH)/libswscale.so
include $(PREBUILT_SHARED_LIBRARY) …
Run Code Online (Sandbox Code Playgroud)

android ffmpeg android-ndk-r5

7
推荐指数
1
解决办法
3553
查看次数

声明方法在打字稿中引发错误?

以下内容不会因错误“声明的类型既不是void也不必须返回值或包含单个throw语句的函数”而编译。

有没有办法使编译器识别_notImplemented引发异常?

function _notImplemented() {
   throw new Error('not implemented');
}

class Foo {
    bar() : boolean { _notImplemented(); }
Run Code Online (Sandbox Code Playgroud)

我唯一能看到的解决方法是使用泛型。但这似乎有点骇人听闻。有没有更好的办法?

function _notImplemented<T>() : T {
   throw new Error('not implemented');
}

class Foo {
    bar() : boolean { return _notImplemented(); }
Run Code Online (Sandbox Code Playgroud)

typescript1.7

7
推荐指数
3
解决办法
8772
查看次数