我刚刚将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,如果与此有关。
答案 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);