小编Jak*_*ber的帖子

透明 AppBarLayout

我正在开发一个应用程序,我想要一个透明的工具栏 (AppBarLayout),但仍然可以看到导航图标按钮。不幸的是,我能做到的最好的是透明的工具栏,它仍然会降低阴影(高程)。

我有一个全屏对话框片段,请参阅样式:

<style name="FullScreenImageStyle" parent="AppTheme">
        <item name="android:windowNoTitle">true</item>

        <item name="android:windowFullscreen">false</item>
        <item name="android:windowIsFloating">false</item>


        <item name="android:windowEnterAnimation">@anim/slide_up</item>
        <item name="android:windowExitAnimation">@anim/slide_down</item>
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="windowActionBarOverlay">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

片段的布局如下所示(这里只是开头):

<androidx.coordinatorlayout.widget.CoordinatorLayout
        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:fitsSystemWindows="true">

    <com.google.android.material.appbar.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/transparent">

        <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>

    </com.google.android.material.appbar.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)

稍后在初始化对话框片段时,我设置了全屏样式和导航图标的资源 ID。

结果看起来像这样。注意工具栏在屏幕顶部的阴影: 在此处输入图片说明

任何想法如何解决这个问题,请?

android material-design androidx

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

带有WSL bash的Android Studio 3.1

是否可以使用Android Studio并将Windows子系统Linux配置为终端?我真的不喜欢使用Windows cmd.exe,但是当我尝试切换到bash.exe,这似乎有效时,它无法构建项目,因为缺少例如Android/sdk/build-tools/27.0.3/aidl'.

这个文件在那里,但它有.exe后缀,因为它是为Windows下载的.在Windows 10上使用*unix之类的解决方法如何在Android Studio中使用bash for Terminal?

bash android windows-subsystem-for-linux android-studio-3.1

6
推荐指数
2
解决办法
2592
查看次数

从字符串中删除所有非字母字符

有没有办法如何删除所有非字母字符(即,.?!等),std::string而不删除捷克符号,如š?é??我试过用:

std::string FileHandler::removePunctuation(std::string word) {
    for (std::string::iterator i = word.begin(); i != word.end(); i++) {
        if (!isalpha(word.at(i - word.begin()))) {
            word.erase(i);
            i--;
        }
    }
    return word;    
}
Run Code Online (Sandbox Code Playgroud)

但它删除了捷克人物.

在最好的情况下,我也想toLowerCase用于那些符号.

c++

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

TestNG 运行方法如上

有没有办法在 TestNG 中运行最后一个特定的测试方法?dependsOn如果不需要的话我不想使用。

谢谢

java testng automated-tests

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

无法在Xcode9测试中使用钥匙串

我进行了一些单元测试,以验证我使用Keychain的方式是否正确以及加载它们时数据的格式是否相同。

测试运行正常,直到更新为XCode9。此刻,KeychainService返回-50(未保存)。

根据这个问题,通过将Host添加到单元测试中来解决。但是,我的测试是在框架项目中进行的,没有任何应用程序可以用作主机。

let query = [
    kSecClass as String       : kSecClassGenericPassword as String,
    kSecAttrAccount as String : key,
    kSecValueData as String   : data ] as [String : Any]

SecItemDelete(query as CFDictionary)

SecItemAdd(query as CFDictionary, nil)
Run Code Online (Sandbox Code Playgroud)

推荐的解决方案是什么?我希望XCode中只有一些配置,将测试移入应用程序对我来说不是一个合适的解决方案。

keychain swift xcode9

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

Java sha256与Swift sha256不匹配

在Java和Swift中计算sha256时,它不匹配.

Java的:

MessageDigest digest = MessageDigest.getInstance("SHA-256");
digest.update(secretKey.getBytes("UTF-8"));

byte[] secretKeyBytes = secretKey.getBytes("UTF-8");

byte[] keyBytes = new byte[16];
System.arraycopy(digest.digest(), 0, keyBytes, 0, keyBytes.length);
Run Code Online (Sandbox Code Playgroud)

结果: [44, 112, -31, 43, 122, 6, 70, -7, 34, 121, -12, 39, -57, -77, -114, 115]

迅速:

let secretKeyBytes = [UInt8](secretKey.utf8)

var digest = SHA2(variant: SHA2.Variant.sha256)
try digest.update(withBytes: secretKeyBytes)
let keyDigest = try digest.finish()

let keyBytes = Array(keyDigest[0...15])
Run Code Online (Sandbox Code Playgroud)

结果: [44, 112, 225, 43, 122, 6, 70, 249, 34, 121, 244, 39, 199, 179, 142, 115]

它以相同的值开始,但随后开始变化

java cryptography sha256 swift

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

通过 API 级别 &lt;23 上的 KeyStore 生成椭圆曲线 KeyPair

我需要在 Android 中生成一个椭圆密钥对并将其存储到 KeyStore 以保护私钥不被提取。

我能够使用 Spongycastle 库生成密钥对,但无法在 KeyStore 中导入密钥对。首先,因为我没有证书,其次,即使我尝试创建一个证书,它也没有导入密钥。

我虽然使用 生成密钥对KeyGenParameterSpec,但在版本 23 以下的 API 中无法访问它。

总结一下我的问题,有没有一种非hacky的方式来使用通用的Android资源来做到这一点?或者根本不可能在 Lollipop 及更低版本上使用椭圆曲线键?

android elliptic-curve android-keystore

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