相关疑难解决方法(0)

Lollipop:在statusBar后面绘制颜色设置为透明

我已经将我的statusBar颜色设置为Lollipop的透明颜色,仅在我的主题中使用以下行:

<item name="android:statusBarColor">@android:color/transparent</item>
Run Code Online (Sandbox Code Playgroud)

现在我需要在它背后绘制,但我不能得到它背后的任何视图.我知道如何使用windowTranslucentStatus属性,但不想使用此属性,因为它将忽略statusBar设置为透明的颜色.

android android-ui android-5.0-lollipop

131
推荐指数
6
解决办法
15万
查看次数

如何使用黑色图标使状态栏变为白色?

我想更改我的应用程序的状态栏的颜色,使其为黑色图标的白色(而不是带有白色图标的默认黑色).有没有办法做到这一点?

android themes

60
推荐指数
5
解决办法
4万
查看次数

透明状态栏无法使用windowTranslucentNavigation ="false"

我正在开发一个Activity我需要使导航栏不透明的地方,状态栏在运行5.0+(API 21+)的设备上是透明的.我正在使用的样式如下,以及我的问题的解释.

AppTheme 扩展 Theme.AppCompat.Light.NoActionBar

<item name="android:statusBarColor">@color/transparent</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@color/welbe_red_transparent</item>
Run Code Online (Sandbox Code Playgroud)

FullscreenTheme 扩展 AppTheme

<item name="android:windowNoTitle">true</item>
<item name="android:statusBarColor">@color/transparent</item>
<item name="android:windowTranslucentNavigation">true</item>
Run Code Online (Sandbox Code Playgroud)

这使得应用程序看起来像这样

机器人:windowTranslucentNavigation =

如果我删除android:windowTranslucentNavigation样式,或将其设置falseFullscreen,它修复了导航栏的问题.问题是状态栏变为完全白色而不是保持透明并显示其背后的内容.

机器人:windowTranslucentNavigation =

我已尝试fitsSystemWindow="true"在我的布局中使用,但它没有解决问题.任何人都知道为什么会这样吗?

android android-appcompat android-layout android-styles

38
推荐指数
2
解决办法
4万
查看次数

如何在CoordinatorLayout中的Viewpager下方获取Adview

目前AdView正在内部出现,ViewPager因此它阻止了应用程序中的内容.我怎样才能让它AdView出现在ViewPager而不是在里面.

我试图把它AdView放在一个RelativeLayout下面ViewPager然后AdView根本不显示.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.candyx.testapp.Activity">

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/main_button_background">

        <android.support.v7.widget.Toolbar
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways"/>

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="scrollable"
            app:tabGravity="fill"
            app:tabIndicatorColor="@color/colorTabIndicator"
            app:tabIndicatorHeight="3dp"/>

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


    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id"
        android:layout_gravity="center|bottom"/>

</android.support.design.widget.CoordinatorLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview android-coordinatorlayout

38
推荐指数
2
解决办法
2万
查看次数

当searchview获得焦点时,Android appcompat工具栏会拉伸

我正在更新一个应用程序以使用新的Toolbar而不是常规的ActionBar.在我的应用中,用户必须能够从其联系人列表中选择联系人.为此,我SearchView在菜单中添加了一个.联系人已经在列表中; 该SearchView用于筛选使用列表ArrayAdapter.getFilter()方法.

这一切都很好用ActionBar,但是它Toolbar的高度被拉伸到键盘后面.使用Android设备监视器中的XML检查我可以看到ListView键盘后面的存在.

它似乎似乎SearchView想要显示建议,但我没有配置这样的东西.知道出了什么问题吗?

图像说明了这个问题.它们显示了正常,扩展和聚焦的状态SearchView.

这是我的XML菜单:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/action_forwarding_contact_search"
        app:showAsAction="always"
        android:title="@string/forwarding_contact_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        android:icon="@drawable/abc_ic_search_api_mtrl_alpha"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

编辑 给予工具栏固定的高度并不能解决问题,因为它SearchView在聚焦时会消失.改变任何一项的重力似乎都没有影响SearchView.

正常状态 膨胀的国家 聚焦状态

android searchview android-toolbar

20
推荐指数
3
解决办法
1万
查看次数

Android:状态栏是白色的

出于某种原因,状态栏现在是白色的.或者更确切地说,一个白色的,另一个白色的阴影,在明亮的背景下隐约可见的图标.这是错误的,因为我的appbarlayout使用蓝色阴影作为其颜色.到目前为止,这一直很好,我不知道我做了什么导致这一点.我已经尝试手动将statusBarColor设置为colorPrimaryDark(#0277bd),但它无效.

我只是不知道为什么会发生这种情况.我正在粘贴我的活动的layout.xml,也许有人可以告诉我这里我做错了什么.

几点说明:

使用的主题尚未更改其默认值,即使用主要颜色设置.我把那些变成了我想要的正确的蓝色阴影,但是当我做了那个改变时,一切都在起作用.

我的layout.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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:statusBarColor="@color/colorPrimaryDark"
    tools:context=".activities.ContactsActivity">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/contactsActivityAppbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:statusBarColor="@color/colorPrimaryDark"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/contactsActivityToolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:popupTheme="@style/AppTheme.PopupOverlay"/>
        <!-- app:layout_scrollFlags="scroll|enterAlways" -->

        <android.support.design.widget.TabLayout
            android:id="@+id/contactsActivityTabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabIndicatorColor="@android:color/white"
            android:scrollbarStyle="insideOverlay"
            android:paddingBottom="1dp"
            android:background="@color/colorPrimary"/>

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

    <android.support.v4.view.ViewPager
        android:id="@+id/contactsTabsViewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#0288d1</color>
    <color name="colorPrimaryDark">#0277bd</color>
    <color name="colorAccent">#FF4081</color>
</resources>
Run Code Online (Sandbox Code Playgroud)

styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item> …
Run Code Online (Sandbox Code Playgroud)

android

19
推荐指数
3
解决办法
2万
查看次数

状态栏颜色不随相对布局更改为根元素

我刚刚开始学习android,我正在学习添加AppBar.但是如果我使用相对布局作为根,则状态栏不会使用主题中定义的颜色"colorPrimaryDark".但是将布局更改为CoordinatorLayout使其有效.

有人可以解释这个区别吗?是否需要使用CoordinatorLayout布局?

Activity扩展AppCompatActivity.

<?xml version="1.0" encoding="utf-8"?>
<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:fitsSystemWindows="true"
    tools:context="com.example.ankit.designdemo.MainActivity">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        app:theme="@style/ThemeOverlay.AppCompat.Dark">

    </android.support.v7.widget.Toolbar>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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:fitsSystemWindows="true"
    tools:context="com.example.ankit.designdemo.MainActivity">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        app:theme="@style/ThemeOverlay.AppCompat.Dark">

    </android.support.v7.widget.Toolbar>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

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


public …
Run Code Online (Sandbox Code Playgroud)

android android-layout material-design

13
推荐指数
1
解决办法
5165
查看次数

CoordinatorLayout工具栏在输入时不可见,直到全高

包括在我activity_main.xml中DrawerLayout是一个CoordinatorLayoutcontent_layout.xml.这CoordinatorLayout是我的AppBarLayout包含a Toolbar,然后是LinearLayout一个片段的内容.

当包含a的片段RecyclerView向上滚动时,工具栏将成功退出.向下滚动以使工具栏返回时出现问题.在滚动工具栏的完整高度之前,工具栏不会出现,因此在其位置留下难看的白色框,如图所示.

工具栏http://i59.tinypic.com/33xil5d.png

content_layout.xml

<android.support.design.widget.CoordinatorLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

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

    <!-- The main content view for fragments-->
    <LinearLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

工具栏通过MainActivity's 初始化onCreate():

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

我将不胜感激任何解决这个问题的建议.谢谢.

android android-toolbar android-coordinatorlayout

9
推荐指数
1
解决办法
3199
查看次数

在活动布局中使用Admob时的白色状态栏

我使用CoordinatorLayout和RelativeLayout在底部显示广告.但我得到的是白色状态栏.当我删除相对布局和广告时,一切正常.当我在RelativeLayout中包装CoordinatorLayout时,我得到的是一个白色状态栏.

使用API​​ v23(棉花糖)

我还在这里找到了相关问题:状态栏变为白色,并且不显示其背后的内容

我使用的布局看起来类似于答案:https://stackoverflow.com/a/31065486/1820644

但没有帮助我.我仍然得到白色状态栏.

我的activity_layout.xml文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    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:fitsSystemWindows="true"
    tools:context="com.testapp.EventActivity">

    <android.support.design.widget.CoordinatorLayout
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/adView">

        <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            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="?attr/colorPrimary"
                app:layout_scrollFlags="scroll|enterAlways"
                app:popupTheme="@style/AppTheme.PopupOverlay" />

            <android.support.design.widget.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

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

        <android.support.v4.view.ViewPager
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end|bottom"
            android:layout_margin="@dimen/fab_margin"
            android:src="@drawable/btn_plus_add" />

    </android.support.design.widget.CoordinatorLayout>

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="@string/banner_ad_test_id" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

提前致谢 !

android admob android-layout

6
推荐指数
1
解决办法
2745
查看次数

带有灰色图标的白色导航栏

我怎样才能在我的 android 应用程序中获得这种风格?白色导航栏和灰色图标。一个例子是打开应用程序抽屉时。 在此处输入图片说明

我尝试了很多选择,但没有成功。应用程序 minSdkVersion 是 21,棒棒糖。

我已经看到了这个解决方案,但我还没有设法应用它:

状态栏变白,后面不显示内容

android themes navigationbar android-styles

5
推荐指数
1
解决办法
6430
查看次数