- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经制作了自己的自定义主题,但有一些主题没有颜色,例如我正在处理的 ListView,所以我正在逐个进行这些操作。我已经完成了我的作业,并且知道如何创建可绘制背景选择器 XML 文件,但它无法正常工作。此外,我尝试了其他一些方法来强制它但无法让它工作。我会向您展示问题,然后按照我的代码进行操作。
“按下”颜色有效。在此屏幕截图中,我按住了一个项目:
但是,当我移开手指时,所选项目不会保持彩色。请注意, list 1 已被选中并显示,但没有突出显示:
这是我应用于每个列表项 View 的背景可绘制对象:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false" android:state_pressed="false"
android:drawable="@android:color/transparent" />
<item android:state_pressed="true" android:drawable="@android:color/holo_orange_dark" />
<item android:state_selected="true" android:state_pressed="false"
android:drawable="@android:color/holo_orange_light" />
</selector>
您会注意到“selected”应该显示“holo_orange_light”,但实际上没有。下面的代码是我分配背景的地方。我最初是在实例化一个现成的 ArrayAdapter。为了应用这个背景,我继承了 ArrayAdapter 并将代码添加到构建 View 的方法中。
这是自定义的 ArrayAdapter:
private class CustomArrayAdapter extends ArrayAdapter<Checklist> {
public CustomArrayAdapter(Context context, int resource, int textViewResourceId,
List<Checklist> objects) {
super(context, resource, textViewResourceId, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = super.getView(position, convertView, parent);
convertView.setBackgroundResource(R.drawable.listview_background);
return convertView;
}
}
FWIW 这是创建适配器的调用,因此您可以看到我使用的参数:
setListAdapter(new CustomArrayAdapter(getActivity(),
android.R.layout.simple_list_item_activated_1, android.R.id.text1,
KnowUrStuffApp.getDbHelper().getChecklists()));
所以那个代码让我离开了我现在的位置。但是,我试图以几种多余的方式强制它着色。我创建了一个名为 setSelectionHilight 的例程,它明确地将 View 背景着色为全橙色。然后我创建了一个 onItemSelectedListener 分配给调用 setSelectionHilight 的 ListView。然后,一旦所有内容加载完毕,我就会明确地调用例程。这些都没有任何效果:
private void setSelectionHilight(ListView listView, View selectedView) {
for (int i = 0; i < listView.getChildCount(); i++) {
View child = listView.getChildAt(i);
if (child == selectedView)
child.setBackgroundColor(getActivity().getResources().getColor(android.R.color.holo_orange_light));
//else
//child.setBackgroundResource(0);
}
}
private OnItemSelectedListener onItemSelectedListener = new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
setSelectionHilight((ListView) parent, view);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
setSelectionHilight((ListView) parent, null);
}
};
同样,我只是在试验正上方的 block 。在考虑我的问题的解决方案时,您可以安全地忽略它,但我将其包括在内以获取完整图片。感谢您提供解决此问题的任何帮助。另一位辅助信息是 ListView 封装在 ListFragment 中,我使用的是随附的默认布局。我没有 ListView 的显式 XML 元素。
最佳答案
我想做类似的事情,并开发了自己的逻辑来实现它。我的代码用于突出显示当前选定的 ChildView,如果您看到该代码,则可以为 ParentView 和 ChildView 实现它。
public int _groupPosition = -1;
View _lastColored;
private int _highlightedGroup = -1;
private int _highlightedChild;
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
_groupPosition = groupPosition;
_highlightedGroup = groupPosition;
_highlightedChild = childPosition;
if (_lastColored != null) {
_lastColored.setBackgroundColor(Color.TRANSPARENT);
}
_lastColored = v;
v.setBackgroundColor(Color.rgb(214, 214, 214)); // whatever colour you want to set
..... // your code here
}
无需在 XML 文件中使用任何选择器。这段代码完成了所有工作。祝你好运!
关于android-layout - ListView选择自定义颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12229747/
我正在阅读 java swing,但在理解它时遇到问题。 Color 是一个类吗? Color[] col= {Color.RED,Color.BLUE}; 这在java中是什么意思? 最佳答案 Is
我正在研究用 python 编写的 pacman 程序。其中一个模块是处理吃 bean 游戏的图形表示。这当然是一些主机颜色。列表如下: GHOST_COLORS = [] ## establishe
本网站:http://pamplonaenglishteacher.com 源代码在这里:https://github.com/Yorkshireman/pamplona_english_teache
我最近将我的手机更新为 Android Marshmallow 并在其上运行了我现有的应用程序,但注意到颜色行为有所不同:将更改应用到 View (可绘制)的背景时,共享相同背景的所有 View (引
所有 X11/w3c 颜色代码在 Android XML 资源文件格式中是什么样的? I know this looks a tad ridiculous as a question, but giv
试图让 ffmpeg 创建音频波形,同时能够控制图像大小、颜色和幅度。我已经尝试过这个(以及许多变体),但它只是返回无与伦比的 "。 ffmpeg -i input -filter_complex "
我很好奇你是否有一些关于 R 中颜色酿造的技巧,对于许多独特的颜色,以某种方式使图表仍然好看。 我需要大量独特的颜色(至少 24 种,可能需要更多,~50 种)用于堆叠区域图(所以不是热图,渐变色不起
我看到的许多 WPF 示例和示例似乎都有硬编码的颜色。这些指南 - http://msdn.microsoft.com/en-us/library/aa350483.aspx建议不要硬编码颜色。在构建
我想更改文件夹的默认蓝色 如何设置? 最佳答案 :hi Directory guifg=#FF0000 ctermfg=red 关于Vim NERDTree 颜色,我们在Stack Overflow上
是否有关于如何将任意字符串哈希为 RGB 颜色值的最佳实践?或者更一般地说:3 个字节。 你问:我什么时候需要这个?这对我来说并不重要,但想象一下任何 GitHub 上的那些管图 network pa
我正在尝试将默认颜色设置为自定义窗口小部件。 这是有问题的代码。 class ReusableCard extends StatelessWidget { ReusableCard({this.
import javax.swing.*; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.Ta
我有一个 less 文件来定义一堆颜色/颜色。每个类名都包含相关颜色的名称,例如 .colourOrange{..} 或 .colourBorderOrange{..} 或 navLeftButtOr
我有一个RelativeLayout,我需要一个黑色背景和一个位于其中间的小图像。我使用了这段代码: 其中@drawable/bottom_box_back是: 这样我就可以将图像居中了。但背
我需要设置 浅色 的 JPanel 背景,只是为了不覆盖文本(粗体黑色)。 此刻我有这个: import java.util.Random; .... private Random random =
我正在尝试制作一个自定义文本编辑器,可以更改特定键入单词的字体和颜色。如何更改使用光标突出显示的文本的字体和/或颜色? 我还没有尝试过突出显示部分。我尝试获取整个 hEdit(HWND) 区域并更改字
我想改变我整个应用程序的颜色。 在我的 AndroidManfiest.xml 中,我有正确的代码: 在 values 文件夹中,我有 app_theme.xml: @style/MyAc
是否可以使用 android 数据绑定(bind)从 xml 中引用颜色? 这很好用: android:textColor="@{inputValue == null ? 0xFFFBC02D : 0
有没有办法在 Android 应用程序中设置“空心”颜色? 我的意思是我想要一个带有某种背景的框,而文本实际上会导致背景透明。换句话说,如果整个 View 在蓝色背景上,文本将是蓝色的,如果它是红色的
我用CGContextStrokePath画在白色背景图片中的一条直线上,描边颜色为红色,alpha为1.0画线后,为什么点不是(255, 0, 0),而是(255, 96, 96)为什么不是纯红色?
我是一名优秀的程序员,十分优秀!