小编Sup*_*Ham的帖子

使用AppTheme.NoActionBar时,Android状态栏是透明的

当我AppTheme.NoActionBar通过android:theme这样的方式将自动生成应用于我的活动时:

AndroidManifest.xml中:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="mypackage">

    <application
        ...
        android:theme="@style/AppTheme">

        <activity
            android:name=".MainActivity"
            android:theme="@style/AppTheme.NoActionBar" />

    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

我的MainActivity通过顶部的透明状态栏进行渲染,最终具有白色背景和白色文本.如果设备正在充电,那么这是唯一可见的符号.

透明的ActionBar

来自AppTheme.NoActionBar的透明ActionBar

这是我的values/styles.xml:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>

</resources>
Run Code Online (Sandbox Code Playgroud)

在第二种样式中,您可以看到AppTheme.NoActionBar,默认情况下会继承AppTheme,但是在任何一种样式中都没有指定状态栏应该是透明的.

android themes auto-generate android-actionbar

14
推荐指数
1
解决办法
8616
查看次数

如何使用 Golang 在 MongoDB 中存储 UUID?

当使用 Golang 在 MongoDB 中存储github.com/google/uuidUUID 字段时,它会转换为子类型 0 的 Base64 二进制文件。这使得无法通过 UUID 自然地查询文档字段。

插入的用户如下所示:

{"_id":{"$binary":"0bHYoNWSTV+KqWSl54YWiQ==","$type":"0"},"name":"Isabella"}
Run Code Online (Sandbox Code Playgroud)

通过生成的 UUID 查询时d1b1d8a0-d592-4d5f-8aa9-64a5e7861689,结果为空。

type User struct {
    UserId uuid.UUID `json:"userId" bson:"_id"`
    Name   string    `json:"name" bson:"name"`
}

func (repo userRepo) User(uuidIn uuid.UUID) (model.User, error) {
    collection := repo.database.Collection(mongoCollectionUser)
    var user model.User
    err := collection.FindOne(context.Background(),
        bson.M{"_id": uuidIn},
    ).Decode(&user)
    // err: mongo: no documents in result
}
Run Code Online (Sandbox Code Playgroud)

uuid encode go mongodb

6
推荐指数
1
解决办法
4696
查看次数

找不到全局 Sharp-cli 包使用的 Sharp 实例

webpack.config.js当尝试运行 Web 版 Expo 时,在我的应用程序文件夹的根目录中创建一个名为的文件后,我收到错误“无法找到全局 Sharp-cli 包使用的 Sharp 实例” 。文件的内容可以像默认的 expo 实现一样简单,但仍然失败:

module.exports = async function(env, argv) {
    const loadDefaultConfigAsync = require('@expo/webpack-config');
    return await loadDefaultConfigAsync(env, argv);
};
Run Code Online (Sandbox Code Playgroud)

节点版本:v16.3.1

NPM版本:v8.1.2

{
  "name": "foo",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject",
    "test": "jest --watchAll"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@expo/vector-icons": "^12.0.0",
    "@expo/webpack-config": "^0.16.11",
    "@react-navigation/bottom-tabs": "^6.0.5",
    "@react-navigation/native": "^6.0.2",
    "@react-navigation/native-stack": "^6.1.0",
    "expo": "~43.0.2", …
Run Code Online (Sandbox Code Playgroud)

node.js webpack sharp expo

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

JSON将地图的映射应用于对象

我正在为模型上的Update操作编写REST端点.所述映射是简单地将请求的身体的转发作为[]bytejson.Unmarshal.但是,我现在正试图过滤掉uuid所述模型上的属性.因此,而不是解组到模型我现在做给一个map[string]interface{},然后运行delete(m, "uuid").

在这一点上我有地图的数据,但我怎么能养活它放入json到其映射,因为它通常会调用时UnmarshalDecode?有没有比编组更好的选择[]byte,然后在模型上解组?

json struct dictionary http go

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