小编erl*_*man的帖子

创建Activity是否比创建片段更快?

我有一个布局Fragment的创建过程中,显示有关产品,但遗憾的是资料,fragment一点滞后(毛刺)约50毫秒(这是我猜的滞后如何记录是这是一个很大的刷新率(Android版) 16毫秒),但是当我Activity 直接使用相同的布局并应用相同的逻辑时,它看起来和感觉都很平滑。

这种情况有什么特殊原因吗?有什么方法可以使片段在创建过程中看起来像活动一样平滑吗?

您可以测试一些复杂的布局,然后尝试将其作为片段的视图充气,并与活动的布局内容相同。

这是我的oncreate在片段和活动中的样子:

@Override
public void onCreate ( Bundle savedInstanceState ) {  // or equivalent  override for fragment.
    super.onCreate ( savedInstanceState );
    setContentView ( R.layout.fragment_product_profile );
    initLayout ();
    loadData ();
    initCustomMadeImageSlider ();
    autoScrollViewPager ();
}
Run Code Online (Sandbox Code Playgroud)

这是关于UI的一般想法

android android-layout android-fragments layout-inflater android-activity

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

已定义依赖功能,但未设置包ID.您可能缺少基本功能中的功能依赖项

我正在关注其中一个用于制作即时应用的Google Codelabs.

我正在尝试创建topeka-ui(即时应用程序的UI功能模块).

当我尝试运行其中一个即时应用程序模块时,它说:

已定义依赖功能,但未设置包ID.您可能缺少基本功能中的功能依赖项.

android android-instant-apps android-architecture

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

从低于SDK版本28的TypeFace创建TypeFaceSpan

我发现了一种create TypeFaceSpanTypeFace这样的:

fun getTypeFaceSpan(typeFace:TypeFace) = TypeFaceSpan(typeFace)
Run Code Online (Sandbox Code Playgroud)

但是,仅在> = 28的API级别中允许使用此API 。任何Compat libray都能在28岁以下实现这一目标?

android textview android-typeface android-spannable

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

注入 dart 无法对构建脚本 .dart_tool/build/entrypoint/build.dart 进行快照。这可能是由错误配置的构建器定义引起的

我试图按照这篇文章使用来自谷歌的注入飞镖

但是当我尝试使用 build-runner 生成代码时,我看到了这个错误。

[严重] 无法对构建脚本 .dart_tool/build/entrypoint/build.dart 进行快照。这可能是由错误配置的构建器定义引起的。[严重] ../../../../dev/flutter/.pub-cache/git/inject.dart-4ffd3d339d8b776b2bec8d95ae6d3d168856e76c/package/inject_generator/lib/src/context.dart:106:51未找到方法:'ParsedLibraryResultImpl.tmp'。var parsedLibrary = ParsedLibraryResultImpl.tmp(element.library);
^^^

有谁知道是什么导致了这个问题?

dart flutter dart-build build-runner

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

错误:任务执行失败:ransformException

我的gradle Dependency看起来像这样,

dependencies {
    compile files('libs/Shutterbug-1.0.0.jar')
    compile files('libs/VolleyWithJsonArrayRequest.jar')
    compile files('libs/android-async-http-1.4.3.jar')
    compile files('libs/geonames-1.1.12.jar')
    compile files('libs/jdom-1.0.jar')
    compile files('libs/kenburnsview-1.0.6.jar')
    compile files('libs/libGoogleAnalyticsServices.jar')
    compile files('libs/multiselectlistpreferencecompat.jar')
    compile files('libs/universal-image-loader-1.9.1.jar')    
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.google.android.gms:play-services:8.3.0'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.google.android.gms:play-services-ads:8.3.0'
    compile 'com.google.android.gms:play-services-identity:8.3.0'
    compile 'com.google.android.gms:play-services-gcm:8.3.0'
    compile 'com.google.android.gms:play-services-analytics:8.3.0'
}
Run Code Online (Sandbox Code Playgroud)

但是当在android studio 1.5上运行应用程序时,我收到以下错误:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/analytics/internal/Command$1.class
Run Code Online (Sandbox Code Playgroud)

transform duplicates gradle google-play-services android-studio

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

尝试在 onDestoryView() 之外保留 Fragment 视图的引用时发生内存泄漏

我想从FragmentA (RootFragment)转到FragmentB但我不想在 FragmentB 返回后重新创建 FragmentA 的视图。

我正在使用 Jetpack Navigation 在 Fragment 之间导航。

为了实现上述目标,我有一个像这样的片段 Fragment:

class RootFragment : DaggerFragment() {
    private var viewToRestore: View? = null


    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
        return if (viewToRestore != null) {
            viewToRestore!!
        } else {
            return inflater.inflate(R.layout.fragment_root, parent, false)
        }
    }

    override fun onDestroyView() {
        viewToRestore = this.view
        super.onDestroyView()
    }

    override fun onDestroy() {
        super.onDestroy()
    }    
}
Run Code Online (Sandbox Code Playgroud)

但是,一旦我到达具有属性viewToRestore 的Fragment BFragmentA (RootFragment) 就会泄漏。 …

android memory-leaks android-fragments android-navigation leakcanary

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

无法访问 includeAndroidResource 在 UnitTestOptions 中是私有的

我正在尝试Kotlin Gradle ScriptAndroid Testing

当我尝试为测试配置 android 资源时,出现以下错误:

无法访问 includeAndroidResource 在 UnitTestOptions 中是私有的。

在此处输入图片说明

在 Android 单元测试中启用使用android Resource的正确方法是什么

android android-testing build.gradle android-gradle-plugin gradle-kotlin-dsl

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

未找到模块“apple_sign_in”

我正在使用带有https://pub.dev/packages/apple_sign_in包的flutter来登录苹果。

我能够发布早期版本的应用程序,apple_sign_in但现在我无法将 Xcode 项目存档以进行发布。

注意:我仍然可以构建应用程序并运行应用程序,但它确实在归档时构建。并抛出错误说

未找到模块“apple_sign_in” 在此处输入图片说明

ios firebase-authentication flutter apple-sign-in

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

如何在Flutter中创建ImageShader?

我正在玩ShaderMask,它接受两种类型Shaders

Gradient & ImageShader
Run Code Online (Sandbox Code Playgroud)

我可以Gradient Shader这样创建:

LinearGradient(colors: <Color>[
                      Colors.deepOrange,
                      Colors.blue,
                      Colors.green,
                      Colors.amber,
                    ]).createShader(bound)
Run Code Online (Sandbox Code Playgroud)

我找不到创建的方法ImageShader

当我尝试像这样创建它时:

ImageShader(
                    Image.network(
                      "https://product-image.juniqe-production.juniqe.com/media/catalog/product/cache/x800/401/62/401-62-101P.jpg",
                    ),
                    TileMode.mirror,
                    TileMode.mirror,
                    Float64List.fromList([1.0, 1, 0, 1, 1, 1, 1, 1, 0]));
              }
Run Code Online (Sandbox Code Playgroud)

它说:参数类型widget/Image不能分配给参数类型ui/Painting/Image

我知道这两个图像是不同的,但我无法从小部件/图像创建 ui/绘画/图像。

还可能有一种直观的方式来创建ImageShader

在 Flutter 中创建 ImageShader 的正确方法是什么?

dart flutter

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

dart 中的 Function() 和 Function 有什么区别?

在类中声明Function 成员时,我们可以同时进行;

Function first;
Function() second;
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别?

function dart flutter

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