Android Hybrid App-状态栏现已隐藏(默认情况下?)

时间:2018-07-09 17:08:21

标签: android statusbar

我刚刚将Android混合应用程序(带有Java Wrapper的HTML5)从Android 23更新为Android 27,以前可见的状态栏现在变为白色,没有图标可见。

我没有更改任何单个Java模块MainActivity,也没有更改清单中的任何内容。我所做的唯一更改是对.app文件的更改,这些更改仅限于现在链接到support:appcompat-v7:27.1.1和support:design:27.1.1的链接库版本号的更改,以及对编译的更改并构建版本(从23到27)。

请让我知道如何再次显示状态栏。

我的测试手机运行的是Android 6,如果与此有关。

1 个答案:

答案 0 :(得分:0)

这似乎是由现在默认为“黑暗”的主题样式引起的,这使状态栏图标变为白色,因此在我的白色应用程序背景上不可见。通过将以下代码行添加到我的mainActivity中,状态栏图标重新出现,因为它们现在是黑色(或非常深的灰色)相对于白色。

    data(){
        return{
            allTickets: [],
            getTickets:{
                seeTickets:{
                    event_id: this.event_id
                }
            },
            findTickets: {},
        }
    },

    mounted: function(){
        console.log(this.accessToken)
        axios.get('https://api.ticketpass.co/tickets',{
            headers:{
                "Content-Type" : "application/json",
                "Accept" : "application/json"
            }
        })
        .then(response =>{
            console.log(response);
            console.log(response.data);
            console.log(response.status);
            if(response.status === 200){
                console.log(this.allTickets);
                console.log(response.data.length);
                console.log(response.data[i].event_id);
                for(let i = 0; i < response.data.length; i++){
                    this.allTickets.push({
                        "some_id" : response.data[i].id,
                        "event_id" : response.data[i].event_id,
                        "created" : response.data[i].created,
                        "code" : response.data[i].code,
                        "user_id" : response.data[i].user_id
                    })

                    this.getTickets.seeTickets = {
                        "event_id" : response.data[i].event_id
                    }

                    console.log(!(response.data[i].event_id in this.findTickets));
                    if(!(response.data[i].event_id in this.findTickets)){
                        console.log("Not in Object", response.data[i].event_id, this.findTickets)

                            axios.get('https://api.ticketpass.co/event/' + response.data[i].event_id,{
                                headers:{
                                    "Content-Type" : "application/json",
                                    "Accept" : "application/json",
                                    "Authorization" : this.accessToken
                                }
                            })
                            console.log("Data Added")
                            this.findTickets[response.data.id] = response.data;
                        }

                    else{
                        console.log("IN Object")
                    }
                }
            }
        })

        .catch(error =>{
            console.log(error.response)
        })
    }
}

可以通过设置

在res / values / styles.xml中进行相同的固化
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) mWebView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);