如何删除状态栏和主屏幕之间的分隔线/阴影?

时间:2011-01-17 10:18:58

标签: java android background themes statusbar

在我的应用程序中,我想保留状态栏,但使其背景与主屏幕相同。

所以我创建了一个自定义主题来设置应用程序背景:

<resources>
  <style name="Theme.Shelves" parent="android:Theme">
    <item name="android:windowBackground">@drawable/background_shelf</item>
    <item name="android:windowNoTitle">true</item>
  </style>
</resources>

然后把它放在清单中:

 <application android:icon="@drawable/icon" 
              android:theme="@style/Theme.Shelves"
              android:label="@string/app_name">

    <activity android:name=".HelloWorld"
              android:label="@string/app_name">

得到这个:

Screen shot 2

除状态栏和主屏幕之间的分隔线外,一切正常。我认为这是因为文本视图填充,所以我将其设置为零但没有任何改变。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    TextView tv = new TextView(this);
    tv.setText("Hello World");
    setContentView(tv);
    tv.setPadding(0,0,0,0);
}

如果您对此有任何疑问,请与我们联系。感谢。

1 个答案:

答案 0 :(得分:9)

根据您的屏幕截图判断,“分隔符”实际上是状态栏阴影。我要从记忆中去,但我认为你可以用以下方法禁用它:

<item name="android:windowContentOverlay">@null</item>

道歉,如果属性名称略有错误,正如我所说,从内存开始,但我认为这是对的。