//最近在学习谷歌的Material Design。 太神奇了! 我看到了Chris Banes 的问题,我跟着回复。 这是我的代码:

公共类 MainActivity 扩展 Activity {

Toolbar toolbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setActionBar(toolbar);
    DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
    drawerLayout.setStatusBarBackgroundColor(100, 100, 100);

}

}

//但是'setStatusBarBackgroundColor'方法不能使用,为什么?

//我的xml部分:

<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity" >

<com.example.app.ScrimInsetsFrameLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/scrimInsetsFrameLayout"
    android:layout_width="320dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@color/base"
    android:elevation="10dp"
    android:fitsSystemWindows="true"
    app:insetForeground="#4000" />

// 和样式:

<resources>
<style name="AppBaseTheme" parent="android:Theme.Material.Light.NoActionBar">
</style>
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:colorPrimary">@color/base</item>
    <item name="android:colorPrimaryDark">@color/base</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>

#1楼 票数:0 已采纳

但是不能使用'setStatusBarBackgroundColor'方法,为什么?

因为,正如您在文档setStatusBarBackgroundColor(int)setStatusBarBackgroundColor(int)需要一个代表要设置的颜色的 int 参数:

public void setStatusBarBackgroundColor (int color)

设置一个 drawable 以在状态栏的插图区域中绘制。 请注意,只有在此 DrawerLayout 适合 SystemWindows 时才会激活此功能。

参数
颜色- 用作背景可绘制的颜色,以 0xAARRGGBB 格式在状态栏后面绘制。

但是,您试图给它 3 个参数:

drawerLayout.setStatusBarBackgroundColor(100, 100, 100);

假设这些是您要设置的 RGB 值,请将上面的行更改为:

drawerLayout.setStatusBarBackgroundColor(android.graphics.Color.rgb(100, 100, 100));

#2楼 票数:0

我已经从 libs 文件夹中删除了 support-v4-18.0.0.jar 并再次同步了 Glade 文件,然后我的问题得到了解决。 谢谢@freshMan。

  ask by linjiang translate from so

未解决问题?本站智能推荐:

1回复

未定义类型对象错误的方法

我一直在研究这个问题,但我似乎无法纠正错误。我只是android开发中的新手。 我在getStatusCode()和getReasonPhrase()上均出现“方法未为类型对象定义”错误。 任何帮助,将不胜感激。 然后有人告诉我,我不应该使用Apache HTTP客户端,而应该使用Htt
1回复

对于类型InvoiceTemplateGet,方法execute()未定义

我使用AsyncTask从API获取结果。 我有几个上课的作品。 我创建了另一个AsyncTask类,但出现此错误: 在这行上: 有一个类InvoiceTemplateGet: 我有另一个与此相同的类,只是url不同。 它在与这一页相同的页面上,在代码的同一部分上执行。 它有
2回复

该类型的方法getFragmentManager()未定义

我使用Android API 19,我想在我的应用程序上定位一个位置,我可以获取位置或查看是否启用了GPS和Google Play服务,这些都没有问题,但是当我想显示地图时,我的问题就开始了。 我发现一个教程说使用getFragmentManager可以做到这一点,但是Eclipse给了我这
2回复

对于类型MainActivityforActionbarsherlock,未定义方法getSupportFragmentManager()

我正在使用Actionbarsherlock库,这是一个执行抽屉操作的项目 我还确保不混合使用兼容性软件包,但仍然收到此错误 MainActivity.java 在行中 :: 我收到错误消息 :::
1回复

对于类型错误,未定义方法getApplication()

我有一个扩展活动的类,我称另一个扩展了视图的类。 在下面,您可以看到我怎么称呼: 在扩展View的GifView类中,我尝试到达全局类的实例,但是我遇到了The method getApplication() is undefined for the type GifView错误的The
1回复

方法size()不是未定义的AndroidElement类型

在下面的代码行中,对于 Android Element 类型不是未定义方法 size() 之类的错误
2回复

对于HttpClient类型,未定义getStatusLine()方法

我一直在使用HttpClient将android与Django连接起来。 现在我需要找出响应代码。 我厌倦了以下 但它会抛出以下错误 知道该怎么办? 感谢名单
1回复

对于GridView类型,未定义方法getNumColumns()

对于GridView类型,未定义方法getNumColumns() 清单设置: