使用AppCompatActivity,状态栏始终显示为黑色

时间:2016-05-05 19:37:10

标签: android android-appcompat statusbar

我的状态栏始终显示为黑色。我尝试了多次修复,但没有任何技巧......我简直不敢相信那么复杂的事情

这是我的Style.xml:

<script>
var base_url = "test.com/";
$(document).ready(function() {
    $("#field_6").change(function() {
        $('#description').html($(this).find('option:selected').attr('data-description'));
        $('#image').attr("src", base_url + "img/" + $(this).find('option:selected').attr('data-img'));
    });
});
</script>

<select class="form-control" id="field_6" name="field_6">
   <option data-description="my description" data-img="test.com/image.jpg" value="1.jpg">Online Portal for FGC</option>  
   <option data-description="my description2" data-img="test.com/image2.jpg" value="2.png">Restaurant Management for Wit Cafe</option>  
   <option data-description="my description3" data-img="test.com/image3.jpg" value="3.jpg">Hotel Reservation for TWIECO</option>  
</select>
<img src="test.com/img/1.jpg" id="image" class="img-responsive" style="height:300px;width:100%;" name="myImage" /><br>
<label class="form_field">Title Description:  <span id="description"></span>?</label>

这是我的v21 / style.xml:

<style name="AppTheme" parent="BaseTheme" />

<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/cobalt</item>
    <item name="colorPrimaryDark">@color/cobalt_dark</item>
    <item name="colorControlHighlight">@color/cobalt_light</item>
    
    <item name="colorAccent">@color/cobalt_light</item>
</style>

这是我的活动:

<style name="AppTheme" parent="BaseTheme">
    <item name="android:colorControlHighlight">@color/cobalt_light</item>
    
    <item name="android:statusBarColor">@color/cobalt_light</item>
</style>

我的清单

public class ActivityLogin extends AppCompatActivity {
 //...
}

4 个答案:

答案 0 :(得分:2)

你应该将你的风格“BaseTheme”重命名为“AppTheme.Base”,以便它重载基本的应用程序主题。

或在清单文件的标签中,您可以添加参数:

android:theme="@style/BaseTheme"

答案 1 :(得分:1)

尝试使用以下属性更新您的v21 / style:

<item name="android:statusBarColor">@color/color_primary</item>

<强>更新 在与作者讨论后,我们决定使用 targetSdkVersion = 18 。我们可以从 \ sdk \ extras \ android \ support \ v7 \ appcompat \ res \ values \ attrs.xml

中注意到
<!-- Dark variant of the primary branding color. By default, this is the
color applied to the status bar (via statusBarColor) and navigation bar (via 
navigationBarColor). -->
<attr name="colorPrimaryDark" format="color" />

由于 statusBarColor 属性在API级别21中添加,因此没有记录方法可以更改前棒棒糖上的状态栏颜色。

答案 2 :(得分:1)

如果解决方案被证明是虚幻的,您可以随时以编程方式设置颜色。

header()

答案 3 :(得分:1)

好的,这就是问题所在:

db/schema.rb

我将把api 21及以上用于工作......