gpt4 book ai didi

android - 在按下项目的 ListView 中更改项目的不透明度

转载 作者:行者123 更新时间:2023-11-29 17:46:25 26 4
gpt4 key购买 nike

我正在尝试在按下项目时在 ListView 中的项目上添加一个不透明度为 0.5 的黑色 View 。

我已经尝试了几种方法,例如使用选择器来更改背景,但它不起作用,因为列表中的每个项目都是一个填充整个项目的图像,并且图像位于背景之上。

我也试过:

mWebcamsListView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Log.i(TAG, "ITEM selected.");
}

@Override
public void onNothingSelected(AdapterView<?> adapterView) {

Log.i(TAG, "Nothing selected.");
}
});

要更改 View 的不透明度,但在我按下项目时不会触发 onItemSelected,有没有办法获取用户按下以更改其不透明度的 View ?

ListView :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Webcams"
android:background="@android:color/black">

<ListView
android:id="@+id/webcamsList"
android:layout_width="match_parent"
android:listSelector="@drawable/background_item_webcam"
android:layout_height="wrap_content" />

<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/spinner"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:visibility="visible" />

我尝试将背景颜色更改为红色:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid
android:color="@android:color/holo_red_dark"
/>
</shape>

选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/background_index_webcam"/>
</selector>

编辑:我添加了选择器代码,我认为它不起作用,因为图像在背景上我认为我需要在图像上添加一层而不是更改背景,或者以编程方式获取 View 并更改它阿尔法。

EDIT2:我找到了解决方案,因为我认为颜色在背景上发生变化,我需要做的就是设置 android:drawSelectorOnTop="true"以在项目 View 的顶部绘制选择器

最佳答案

我认为您必须实现 Listview 的 setOnItemClickListener 监听器,而不是 setOnItemSelectedListener,如下所示:

  mWebcamsListView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Log.i(TAG, "ITEM selected.");

}
});

关于android - 在按下项目的 ListView 中更改项目的不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26252970/

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