gpt4 book ai didi

android - 如何更改抽屉导航中列表选定项目的颜色?

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:03 24 4
gpt4 key购买 nike

我从导航浏览器的 Android Studio 示例开始。我正在自定义我想要的一切,一切正常,但我找不到如何在抽屉导航中更改所选项目的颜色...现在它是绿色的,我无法更改它。

我尝试使用可绘制的选择器但没有办法,我设法更改了整个背景但没有调整所选的背景。

抱歉,如果这是一个菜鸟问题,但我昨天在谷歌和这里花了几个小时没有找到:/

Green color i want to change


最后,我设法让它发挥作用。问题是“android.R.layout.simple_list_item_activated_1”。

这是一个内置在 xml 中的 android,所以你无法处理你想要的颜色。

所以我创建了一个名为 nav_drawer_layout.xml 的文件包含与“android.R.layout.simple_list_item_activated_1”文件相同的内容。

然后我调整它,改变 android:background 属性,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<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="@drawable/nav_drawer_colors"
android:minHeight="?android:attr/listPreferredItemHeightSmall" />

它指的是nav_drawer_colors.xml您必须创建的选择器:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/selected_drawer" android:state_activated="true" />
<item android:drawable="@color/selected_drawer" android:state_selected="true" />
<item android:drawable="@color/pressed_drawer" android:state_pressed="true" />
<item android:drawable="@color/backgroung_drawer" />
</selector>

selected_drawer、pressed_drawer 和 backgroung_drawer 一如既往地在 values\colors.xml 中定义。

现在一切正常,除了阴影效果到处都有效但在 ListView 中不起作用^^ 编辑:只需在 fragment 抽屉导航布局(fragment_navigation_drawer.xml)中指定背景颜色并删除 <item android:drawable="@color/backgroung_drawer" />nav_drawer_colors.xml文件:)

希望对遇到同样问题的人有所帮助:)

最佳答案

通过编码你可以在ListView的item点击上实现:

int save = -1;
listview.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub

parent.getChildAt(position).setBackgroundColor(
Color.parseColor("#A9BCF5"));

if (save != -1 && save != position) {
parent.getChildAt(save).setBackgroundColor(
Color.parseColor("#d6e6ff"));
}

save = position;
});

使用选择器:

drawable文件夹中制作一个名为select.xml的文件。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:drawable="@color/green" />
<item android:drawable="@color/transparent" />
</selector>

现在将此文件设置为 xml 文件中 ListView 的 Listselector。喜欢,

android:listselector="@drawable/select"

或者也用作背景

android:background="@drawable/select"

关于android - 如何更改抽屉导航中列表选定项目的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27601435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com