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

Posted

技术标签:

【中文标题】如何删除状态栏和主屏幕之间的分隔线/阴影?【英文标题】:How does one remove the separator line / shadow between status bar and main screen? 【发布时间】:2011-06-10 08:50:32 【问题描述】:

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

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

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

然后放到manifest里面:

 <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 http://i1178.photobucket.com/albums/x370/BinhNguyen84/device.png

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

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);

【问题讨论】:

这就是我所期待的i1178.photobucket.com/albums/x370/BinhNguyen84/device1.png。由于最大链接限制,我无法将其放在我的问题中 【参考方案1】:

从您的屏幕截图来看,“分隔符”实际上是状态栏阴影。我要从这里记忆,但我认为您可以使用以下方法禁用它:

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

抱歉,如果属性名称稍有错误,正如我所说,从记忆中得到,但我认为它是正确的。

【讨论】:

天才。你怎么能找到这个参数。非常感谢,我整个下午都花了。 :) 埋在文档里,developer.android.com/reference/android/…

以上是关于如何删除状态栏和主屏幕之间的分隔线/阴影?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 UITableView 单元格之间的分隔

如何删除屏幕底部和底栏之间的底部空间?

如何从导航栏中删除阴影线?

删除尤里卡中单行的分隔线

导航栏和视图之间的分隔符 - iOS 7

如何在 Flutter 中移除原生闪屏和主屏幕之间的默认淡入淡出过渡? (仅使用本机启动画面)