Android视图未在设备上显示

时间:2017-03-10 12:18:59

标签: android android-layout android-relativelayout

我有一个布局文件,用于在屏幕底部显示一些信息。在过去的一年里,这一直如预期一样有效。然而,最近我意识到文本不再显示。这是我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="nl.l1nda.contactinfo.ContactInfoActivity">


    <TextView
        android:id="@+id/appVersionText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_alignParentBottom="true"
        android:padding="@dimen/activity_margin"
        android:text="Some text here"
        android:background="@color/colorAccent"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="@color/black_overlay" />
</RelativeLayout>

这在设计视图中显示如下: enter image description here

但是在运行应用程序时,文本才会显示:

enter image description here

但请注意,视图在那里,因为将其大小设置为90dp会显示以下内容:

enter image description here

相对布局的行为是否有所改变?

编辑:根据要求,styles.xml:

<resources>

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:textColor">@drawable/text</item>
    </style>

    <style name="ThemeDialog" parent="Theme.AppCompat.Light.Dialog">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowFullscreen">false</item>
    </style>

    <style name="AppTheme.Launcher" parent="AppTheme.NoActionBar">
        <item name="android:background">@color/black_overlay_dark</item>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="android:textColor">@color/colorPrimaryDark</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
        <item name="colorControlNormal">@color/white</item>
    </style>

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

    <style name="FullscreenTheme" parent="AppTheme">
        <item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item>
        <item name="android:windowActionBarOverlay">true</item>
        <item name="android:windowBackground">@null</item>
        <item name="metaButtonBarStyle">?android:attr/buttonBarStyle</item>
        <item name="metaButtonBarButtonStyle">?android:attr/buttonBarButtonStyle</item>
    </style>

    <style name="FullscreenActionBarStyle" parent="Widget.AppCompat.ActionBar">
        <item name="android:background">@color/black_overlay</item>
    </style>

</resources>

3 个答案:

答案 0 :(得分:0)

当我升级到Android Nougat时,我遇到了同样的问题,我最近使用下面的代码片段解决了它。

请将fitsSytemWindow=true放入manifest进行活动。

答案 1 :(得分:0)

只需在style.xml v-21

中添加
<item name="android:fitsSystemWindows">true</item>
<item name="android:windowTranslucentNavigation">true</item><-this can be ignore
<item name="android:windowDrawsSystemBarBackgrounds">true</item>

答案 2 :(得分:0)

这里的答案似乎没有帮助我做了一些进一步的研究,我设法通过在我的活动中添加以下内容来解决它:

 AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();
 params.setScrollFlags(0);