相关疑难解决方法(0)

所选项目的导航抽屉项目背景颜色

我使用Android Studio来实现导航抽屉,我无法获得用于显示我们当前要更改的部分的蓝色.

我尝试了很多东西,我目前正在使用listSelector,它看起来像:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_activated="true" android:drawable="@color/selected" />
    <item android:state_pressed="true" android:drawable="@color/highlight" />


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

我也试过了state_checked.state_pressed在这种情况下工作,但当前选择的项目仍然是蓝色.

编辑:我一直在研究这个,当创建适配器时,传递的上下文是getActionBar().getThemedContext()如此我想如果我能找到正确的属性来分配我的操作栏样式我可以从那里改变它.我尝试了几个不同的属性而没有运气.有谁知道确切的属性?

我也意识到我是否愿意

<item name="android:activatedBackgroundIndicator">@drawable/nav_listview_selector</item>

在我的主题和变化的主要部分getActionBar().getThemedContext()getActivity.getBaseContext话,我可以改变颜色,但我不认为这是正确的方式.我认为应该使用主题背景.因此,如果有人知道activatedBackgroundIndicator可以放在哪里,那么它将被用于getActionBar.getThemedContext()

EDIT2:

因此,用于listview的文本视图是SDK中的一个,如下所示:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"
    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
    android:background="?android:attr/activatedBackgroundIndicator"
    android:minHeight="?android:attr/listPreferredItemHeightSmall"
/>
Run Code Online (Sandbox Code Playgroud)

所以我尝试修改"?android:attr/activatedBackgroundIndicator"主题级别,但它对选中/选中/激活没有效果,但它对按下有效.有人知道为什么吗?我怎么能改变它?

android android-listview android-navigation

40
推荐指数
6
解决办法
7万
查看次数

如何更改导航抽屉中所选项目的背景颜色

我正在我的应用程序上使用Nav抽屉.我已经制作了导航抽屉#000000(黑色)的背景.每当我选择任何项目时,文本的文本颜色从#E44F50(胡萝卜红色)变为黑色但我无法更改所选项目的背景颜色.我想要的是将所选项目的背景颜色从黑色更改为胡萝卜红色.

这是我的应用程序的github链接 -

https://github.com/manmeet-22/NewsSnips-app.git

<android.support.design.widget.NavigationView
        android:id="@+id/navigation_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/colorPrimary"
        app:headerLayout="@layout/header"
        app:itemIconTint="@drawable/drawer_item" //changing text color 
        app:itemTextAppearance="@style/TextAppearance20"
        app:itemTextColor="@color/drawer_item"
        app:itemBackground="@drawable/drawer_selected_item" //trying to change backgroundcolor the same way
        app:menu="@menu/drawer"
        tools:context="com.androidexample.newssnips.app.NavigationDrawerFragment"/>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

在这个我尝试改变背景颜色,就像我为文本做的,但我的应用程序崩溃.

这是我的drawer_selected_item.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/colorAccent" android:state_selected="true"/>
    <item android:color="@android:color/transparent"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

这是我的drawer_item.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:color="@color/colorPrimary" android:state_checked="true" />
        <item android:color="@color/colorAccent" />
</selector>
Run Code Online (Sandbox Code Playgroud)

这是我的MainActivity.java:

navigationView = (NavigationView) findViewById(R.id.navigation_view);
        navigationView.setItemIconTintList(null);
        Menu menu = navigationView.getMenu();

        //For chnaging the textColor and textSize of group's Name ie. Category
        MenuItem categoryName= menu.findItem(R.id.categoryGroup);
        SpannableString …
Run Code Online (Sandbox Code Playgroud)

android

4
推荐指数
1
解决办法
7658
查看次数