Search code examples
androidandroid-layoutcenteringandroid-constraintlayout

ConstraintLayout TextView is not shown


I got the following problem in my ConstraintLayout

Layout File:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="wrap_content"
              android:background="@color/colorPrimary"
              android:minHeight="?android:attr/actionBarSize"
              android:orientation="horizontal"
              android:paddingEnd="8dp">

    <android.support.constraint.ConstraintLayout
        android:id="@+id/layout_titlemode"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/textView_title"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="8dp"
            android:layout_marginLeft="32dp"
            android:layout_marginRight="32dp"
            android:layout_marginTop="8dp"
            android:text="TextView"
            android:textAlignment="center"
            android:textColor="@color/colorUnactive"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.5"/>
    </android.support.constraint.ConstraintLayout>
</LinearLayout>


Styles (using AppTheme):

<resources>
<style name="AppTheme" parent="Theme.MultiBackStack">
        <item name="android:textColorPrimary">@color/colorTextPrimary</item>
    </style>

    <style name="Theme.MultiBackStack" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimary</item>
<item name="android:textColorPrimary">@color/colorTextPrimary</item>
    </style>
</resources>


This is what I expected due to preview: Design Screenshot

I excepted that the TextView would take all the available space (like match_parent) and that the text is shown in the center of the view.


This is what is actually shown:

Actually shown content

Instead, nothing is shown actually (I guess because of the layout_width="0dp")

The newest version of the constraint support library is added: 'com.android.support.constraint:constraint-layout:1.0.2'


What I tried in addition:
I added to the TextView app:layout_constraintWidth_default="wrap" This let the TextView shown up, but it starts on the left and is not centered. How can I achieve to center the view ?



I can't determine why nothing is shown. Thank you in advance for your helping!


Solution

  • try using theme.

    <style name="AppTheme" parent="Theme.AppCompat.Light">
            <!-- Customize your theme here. -->
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorAccent">@color/colorAccent</item>
            <item name="colorPrimaryDark">@color/colorPrimaryD</item>
    
        </style>