小编axi*_*tjz的帖子

Android L - SwipeRefreshLayout颜色方案的材质设计

我开始在我的最新项目中实现Material Theme,为新L版本的推出做好准备.

我一直在阅读材料设计指南并找到了这个.

UI颜色应用程序

选择你的调色板

通过在辅助调色板中选择三种颜色和一种强调颜色来限制颜色选择.强调颜色可能需要也可能不需要后退选项

它或多或少地解释了如何在应用程序上实现这些色调,包括强调色,但在使用SwipeRefreshLayout进度条在我的应用程序上使用主色时,它感觉不对.

应用示例SwipeRefreshLayout材质设计

应该是强调色和android:colorPrimary?之间的混合?

有什么想法吗?关于在我错过的材料设计指南中实施进度条有什么解释吗?

提前致谢

colors material-design android-5.0-lollipop

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

Android Studio中的"show implementation"快捷方式是什么?

我在Eclipse中使用最多的关键组合是Ctrl + Click.它向我展示了一种方法的实现.在Android Studio中,它向我显示界面,而不是实现.

在Android Studio中似乎没有"show implementation"shurtcut,或者在那里?

android android-studio

22
推荐指数
3
解决办法
8845
查看次数

创建iPhone弹出菜单与Mail App Menu类似

当您想要回复邮件时,我想创建一个类似于邮件应用程序中的弹出菜单.我在多个应用程序中看到过这个,所以我不确定框架中是否有内置的东西或者那些示例代码.

UIActionSheet示例

cocoa-touch objective-c uiview ios

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

有没有办法在webview中禁用输入字段的缩放功能?

当用户单击输入字段或textarea时,应用程序会放大.是否有一种简单的方法可以禁用它?

目前有meta标签:

meta name="viewport" content="width=device-width; height=device-height; initial-scale=1.0; maximum-scale=1.0; user-scalable=no; target-densityDpi=device-dpi;"
Run Code Online (Sandbox Code Playgroud)

一切看起来都很棒,直到我在具有Android 2.2 特别是HTC Evo 4G的设备上看到它.

android textinput webview

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

Google Play警告:WebViewClient.onReceivedSslError处理程序

我最近收到了Google发来的一封电子邮件,内容如下:"Google Play警告:SSL错误处理程序漏洞".在这封电子邮件中,Google解释说我的应用程序有一个["不安全的WebViewClient实现.onReceivedSslError处理程序.具体来说,该实现会忽略所有SSL证书验证错误,使您的应用程序容易受到中间人攻击.攻击者可以更改受影响的WebView内容,读取传输的数据(如登录凭据),并使用JavaScript在应用程序内执行代码."] ....................

我在我的代码中使用:

    webView.setWebViewClient(new WebViewClient() {

        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {}

        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            handler.proceed();
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return super.shouldOverrideUrlLoading(view, url);
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            // My code
        }
    });
Run Code Online (Sandbox Code Playgroud)

//我的代码

webview_ClientPost(webView, "https://secure.payu.in/_payment", mapParams.entrySet());
Run Code Online (Sandbox Code Playgroud)

为什么Google会发送有关SSL的警告?这是我的代码问题还是PayUMoney问题?

ssl android-security

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

Grails一对一的关系

我尝试用两种不同的方式定义一对一的关系:
Grails 2.0.3

情况1:

class Car {
    String model  
    Engine eng  
    static constraints = {
        eng unique: true
    }
}

class Engine {
    Double capacity
    static belongsTo = [car : Car]
}
Run Code Online (Sandbox Code Playgroud)

案例2:

class Car {
    String model
    static hasOne = [eng : Engine]
    static constraints = {
        eng unique: true
    }
}


class Engine {
    Double capacity
    static belongsTo = [car : Car]
}
Run Code Online (Sandbox Code Playgroud)

看起来很相似,都提供一对一的双向映射.不幸的是DB在两种情况下都有不同的结构

情况1: 在此输入图像描述

案例2: 在此输入图像描述

为什么一旦Car和一次引擎保持链接到第二个表.

我的问题在哪里?当我查看代码时,从DDD的角度来看,两种情况都表明Car类更重要,Car聚合引擎.不幸的是,当我从DB侧看案例2时,我宁愿说它是相反的 - 引擎聚合汽车.当然我可以使用第一种方法,但我看到的关于grails的大多数出版物,提出了定义关系的第二种方式.也许我误解了一些东西而且我错误地使用了hasOne?

database grails grails-orm

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

使用Gradle插件v4.10.1重新命名的APK

我今天已经将我的Android Studio更新为Gradle插件版本4.10.1附带的3.3版本。

以前,我的build.gradle使用以下代码将apk的名称重命名为以下结构:

app-{buildType[release|debug]}-{flavor[prod|stage]}-{versionName[1.2.4]-{versionCode[43]}.apk

app-release-prod-1.1.4-45.apk

applicationVariants.all { variant ->
    variant.outputs.all { output ->
        outputFileName = output.outputFile.name.replace(".apk", "-${variant.versionName}-${variant.versionCode}.apk").replace("-unsigned", "")
    }
}
Run Code Online (Sandbox Code Playgroud)

但是更新后出现了这个错误。

警告:API'variantOutput.getPackageApplication()'已过时,已被'variant.getPackageApplicationProvider()'取代。它将于2019年底删除。有关更多信息,请参见https://d.android.com/r/tools/task-configuration-avoidance。要确定正在调用variantOutput.getPackageApplication()的内容,请在命令行上使用-Pandroid.debug.obsoleteApi = true来显示堆栈跟踪。受影响的模块:应用

问题在于output.outputFile.name,因为您无法访问此插件版本上的输出数据。

到目前为止,我尝试这种方法均未成功。

applicationVariants.all { variant ->
    variant.flavors*.name.all { flavor ->
        outputFileName = "${flavor}-${variant.buildType.name}-${variant.versionName}-${variant.versionCode}.apk".replace("-unsigned", "")
    }
}
Run Code Online (Sandbox Code Playgroud)

任何的想法?

================================================== =====

更新

我在这个问题上重试了,我尝试了以下代码段,但是在检索该变体的样式时遇到了问题。

android.applicationVariants.all { variant ->
    def flavor = variant.flavorName
    variant.outputs.all { output ->
        def builtType = variant.buildType.name
        def versionName = variant.versionName
        def versionCode = variant.versionCode
        outputFileName = "app-${flavor}-${builtType}-${versionName}-${versionCode}.apk"
    }
}

outputs: app--release-1.0.4-88.apk
Run Code Online (Sandbox Code Playgroud)

谢谢

android gradle gradle-plugin android-studio-3.3

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

从androidx.work.Worker将数据保存到Room失败

我曾尝试将数据从Worker数据库保存到Room数据库.

版本:

  • 工作运行时Ktx - android.arch.work:work-runtime-ktx:1.0.0-alpha02
  • 房间 - android.arch.persistence.room:runtime:1.1.0和android.arch.persistence.room:compiler:1.1.0

MainActivity.kt

private fun runDataDownloadWork() {
        WorkManager.getInstance()
                .beginWith(dwElementTypesWork)
                .then(dwElementsWork)
                .enqueue()
        WorkManager.getInstance().getStatusById(dwElementsWork!!.id)
                .observe(this, Observer { workStatus ->
                    if (workStatus != null && workStatus.state.isFinished) {
                        Log.d("WorkManager", "dwElementsWork finished")
                    }
                })
    }

    private fun createWorkRequests() {
        dwElementsWork = OneTimeWorkRequestBuilder<DWElementsWork>()
                .addTag(DWElementsWork.TAG)
                .setConstraints(wifiConstraints)
                .build()
        dwElementTypesWork = OneTimeWorkRequestBuilder<DWElementTypesWork>()
                .addTag(DWElementTypesWork.TAG)
                .setConstraints(wifiConstraints)
                .build()
    }
Run Code Online (Sandbox Code Playgroud)

DWElementsWork.kt

class DWElementsWork : Worker() {

    companion object {
        const val TAG = "dw_elements_work"
    }

    override fun doWork(): WorkerResult {

        val apiService: APIService = ServiceGenerator
            .createService(applicationContext, MyAPIService::class.java) …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-room android-workmanager

8
推荐指数
0
解决办法
1347
查看次数

适用于iOS和路线的Google Maps SDK

我一直在阅读Google Maps SDK for iOS的文档,我没有看到任何关于在地图上绘制路线的信息.

我知道Polylines可用,但我不认为这是最好的方法.

可能吗?

objective-c ios google-maps-sdk-ios ios7

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

Android WorkManager链接的工作未在alpha04上运行

[更新] 这已在alpha09中解决

我有两件作品被WorkManager alpha04 beginWiththenapi 链接起来.

fun updateData() {
   createWorkRequests()
   runDataDownloadWork()
}

private fun createWorkRequests() {
    dwElementsWork = OneTimeWorkRequestBuilder<DWElementsWork>()
            .addTag(TAG_ELEMENTS_WORK)
            .build()
    dwElementTypesWork = OneTimeWorkRequestBuilder<DWElementTypesWork>()
            .addTag(TAG_ELEMENTS_TYPE_WORK)
            .build()
}

private fun runDataDownloadWorkNoStatus() {
    WorkManager.getInstance()!!
            .beginWith(dwElementTypesWork)
            .then(dwElementsWork)
            .enqueue()
}
Run Code Online (Sandbox Code Playgroud)

它们会在我的MainActivity.kt文件中被调用dwElementTypesWork,而在某些情况下,第一个会被执行,而在少数情况下,它们都没有.我错过了一些配置吗?文档很简单.

这是基于WorkManager日志的logcat输出:

06-28 09:28:20.519 28480-28501/com.myapp.app D/SystemJobScheduler: Scheduling work ID 3e5f8531-aa92-4e28-8533-d180612dab02 Job ID 28
06-28 09:28:20.537 28480-28501/com.myapp.app D/GreedyScheduler: Starting tracking for 3e5f8531-aa92-4e28-8533-d180612dab02
06-28 09:28:20.542 28480-28501/com.myapp.app D/ConstraintTracker: NetworkStateTracker: initial state = [ Connected=true Validated=true Metered=false NotRoaming=true …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-workmanager

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