【问题标题】:toolbar is not displaying on activity工具栏未显示在活动中
【发布时间】:2018-01-12 05:08:00
【问题描述】:

我正在将工具栏添加到具有 setDisplayHomeAsUpEnabled 的活动中,工具栏根本不显示,但是当我点击后退按钮所在的位置时,它的工作但工具栏根本不显示,就像工具栏的背景颜色和标题不显示而是它显示部分活动在那里放置

这是我在活动中启用工具栏的方式:

setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close_white);

    toolbarTitle.setText(env.appLoginLogin);
    toolbarTitle.setTypeface(vrFont);

    actionBar = getSupportActionBar();

xml:

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff">

   <android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/ablayoutsignup"
    android:layout_alignParentTop="true"
    android:stateListAnimator="@null"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/signup_toolbar_title"
            android:layout_gravity="center"
            android:textColor="#ffffff"
            android:textSize="18dp" />

    </android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scaleType="centerCrop"
    android:src="@drawable/mainbg"/>

<View
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:alpha="0.97"
    android:background="@color/onboarding_bg_overlay3"
    />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:src="@drawable/hah_logo"
    android:id="@+id/iv_hah"
    android:layout_alignParentTop="true"
    android:layout_marginTop="50dp"
    android:layout_centerHorizontal="true"
    />

<RelativeLayout
    android:layout_below="@id/iv_hah"
    android:layout_marginTop="50dp"
    android:layout_width="match_parent"
    android:layout_above="@+id/emergencyVideo"
    android:layout_height="wrap_content">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:focusableInTouchMode="true">

    <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:nextFocusDown="@+id/pw"
            android:inputType="textEmailAddress"
            android:id="@+id/email"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:textColorHint="@color/whiteThree"
            android:background="@drawable/line_edit_text"
            android:textColor="@color/whiteTwo"
            android:drawableLeft="@drawable/mail"
            android:drawablePadding="20dp"
            android:maxLines="1"
            android:autoText="true"
            android:paddingBottom="10dp"
            android:textSize="16dp"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:id="@+id/email_error"
            android:layout_marginTop="2dp"
            android:layout_marginBottom="8dp"
            android:layout_below="@+id/email"
            android:textColor="#ff0000"
            android:visibility="gone"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_marginTop="20dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/email_error"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:background="@drawable/line_edit_text"
            android:orientation="horizontal"
            android:id="@+id/pw_layout">

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/pw"
                android:layout_weight="1"
                android:layout_marginRight="30dp"
                android:textColorHint="@color/whiteThree"
                android:textColor="@color/whiteTwo"
                android:imeOptions="actionDone"
                android:maxLines="1"
                android:paddingBottom="10dp"
                android:drawableLeft="@drawable/padlock"
                android:drawablePadding="26dp"
                android:background="@android:color/transparent"
                android:inputType="textPassword"
                android:textSize="16sp"/>

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/btn_pw_show"
                android:layout_gravity="bottom"
                android:layout_marginBottom="10dp"
                android:background="@android:color/transparent"
                android:drawablePadding="20dp"
                android:layout_toRightOf="@+id/pw"
                android:text="text"/>

        </LinearLayout>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="error"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:id="@+id/pw_error"
            android:layout_marginTop="2dp"
            android:layout_below="@+id/pw_layout"
            android:textColor="#ff0000"
            android:visibility="gone"
            />
      <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_create_account"
            android:textColor="@color/warmGrey"
            android:layout_below="@id/pw_error"
            android:layout_marginLeft="40dp"
            android:layout_marginRight="30dp"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="4dp"
            />


        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_below="@id/tv_create_account"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="40dp"
            android:layout_marginRight="30dp"
            android:id="@+id/terms">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/tv_terms"
                android:textColor="@color/warmGrey" />

            <TextView
                android:id="@+id/termsConditionsText"
                android:layout_width="wrap_content"
                android:layout_height="40dp"
                android:textColor="@color/greyishBrown"
                android:textSize="14dp"
                android:textStyle="bold" />

        </LinearLayout>


        <Button
            android:id="@+id/loginBtn"
            android:layout_below="@+id/terms"
            android:layout_width="match_parent"
            android:layout_height="53dp"
            android:layout_weight="1"
            android:textSize="16dp"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:textAllCaps="false"
            android:background="@drawable/bordered_button_green"
            android:stateListAnimator="@null"
            android:textColor="#ffffff"
            android:text="Sign up"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="22dp"
            android:id="@+id/loginBtntxt"
            android:orientation="horizontal"
            android:layout_below="@+id/loginBtn"
            android:layout_marginTop="6dp"
            android:layout_centerHorizontal="true">
        <TextView
            android:id="@+id/donthaveacc"
            android:layout_marginLeft="15dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16dp"
            android:textColor="@color/whiteTwo"
            android:gravity="center"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/loginBtn"
            android:text="Already have an Account? "/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_toRightOf="@+id/donthaveacc"
                android:text="Login"
                android:clickable="true"
                android:background="@drawable/line"
                android:textColor="@color/whiteTwo"
                android:id="@+id/tv_signup" />

        </LinearLayout>


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Sign up with"
            android:layout_below="@+id/loginBtntxt"
            android:layout_marginTop="30dp"
            android:scaleX="1"
            android:layout_centerInParent="true"
            android:id="@+id/tv_continue"
            android:textColor="#fff"/>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/social_media"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="8dp"
            android:layout_below="@+id/tv_continue"
            android:layout_centerHorizontal="true">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/fbx"
            android:id="@+id/btn_fb_login"
            android:clickable="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/googlex"
            android:layout_toRightOf="@+id/btn_fb_login"
            android:id="@+id/iv_google"
            android:layout_marginLeft="15dp"
            android:clickable="true"
            />
        </RelativeLayout>

        </RelativeLayout>

</RelativeLayout>

<TextView
    android:id="@+id/emergencyVideo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16dp"
    android:paddingBottom="5dp"
    android:background="@drawable/line"
    android:textColor="#ffffff"
    android:layout_below="@+id/ablayoutlogin"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="40dp"
    android:layout_centerHorizontal="true"/>

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/sign_up_container"
    android:layout_below="@+id/ablayoutsignup"
    android:layout_toRightOf="@+id/progress"
    android:layout_toEndOf="@+id/progress" />

<ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:visibility="gone"
    android:layout_centerInParent="true"
    android:id="@+id/progress"/>

清单中活动的样式:

 <style name="ThemeLogin" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">#292E37</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="colorButtonNormal">@color/colorPrimary</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

【问题讨论】:

  • 发布你的整个 XMl
  • 有什么错误吗?
  • 不只是工具栏没有显示,但它的控件正在工作@Heisen-Berg
  • @ADM 添加了有问题的 xml
  • xml 中仍然缺少根。

标签: java android android-actionbar android-toolbar android-styles


【解决方案1】:

试试这个

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

Toolbar toolbar = findViewById(R.id.toolbar);
toolbar.setTitle("text here");
setSupportActionBar(toolbar);

【讨论】:

  • 纯代码答案很少有帮助。请解释您与 OP 的代码相比所做的更改,特别是:它如何提供帮助,
【解决方案2】:

您可以尝试进行这些更改..

  <style name="ThemeLogin" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">#292E37</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="colorButtonNormal">@color/colorPrimary</item>
</style>

这里

<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ablayoutsignup"
android:layout_alignParentTop="true"
android:stateListAnimator="@null"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    app:popupTheme="@style/AppTheme.PopupOverlay">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/signup_toolbar_title"
        android:layout_gravity="center"
        android:textColor="#ffffff"
        android:textSize="18dp" />

</android.support.v7.widget.Toolbar>

【讨论】:

    【解决方案3】:

    尝试如下使用。

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ffffff">
    
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/ablayoutsignup"
        android:layout_alignParentTop="true"
        android:stateListAnimator="@null"
        android:theme="@style/AppTheme.AppBarOverlay">
    
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay">
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/signup_toolbar_title"
                android:layout_gravity="center"
                android:textColor="#ffffff"
                android:textSize="18dp" />
    
        </android.support.v7.widget.Toolbar>
    </android.support.design.widget.AppBarLayout>
     <RelativeLayout
    android:layout_width="match_parent"
    android:layout_below="@+id/ablayoutsignup"
    android:layout_height="match_parent">
    // Rest of content goes here
    
    </RelativeLayout>
    </RelativeLayout>
    

    【讨论】:

    • 工具栏在那里,它的后退按钮在那里工作(但不显示),但工具栏不显示
    • 那是因为它隐藏在 Other views 下。这就是“RelativeLayout”的工作原理。一个建议是使用 CoordinateLayout 。网上有很多例子。何必头疼。谢谢
    • 因为您的叠加视图不可点击。如果您将 imageView 设为可点击,即“match_parent”,则后退按钮将不起作用。尝试测试它。
    • 尝试使用toolbar.bringtofront
    猜你喜欢
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    相关资源
    最近更新 更多