我遇到了一个问题.我需要在图库中突出显示所选项目.我试过通过这种方法改变所选视图的外观:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
Run Code Online (Sandbox Code Playgroud)
该视图的第二个参数是当前选定的视图,我正在尝试在这种情况下,增加文本的大小.但是这不起作用,即使我在所选项目或整个图库中调用invalidate也不行.
这是我用来更改textview文本大小的代码
TextView textview = (TextView)view;
textview.setTextSize(50, TypedValue.COMPLEX_UNIT_SP);
textview.invalidate();
Run Code Online (Sandbox Code Playgroud)
你知道怎么做吗?谢谢
您的实现有效,但是一旦项目取消选中,它就不会将文本大小恢复为正常 - 文本保持较大的大小.
这应该解决它:
private View lastview;
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
if (lastview != null) lastview.setBackgroundColor(0xFFFFFFFF);
lastview = arg1;
arg1.setBackgroundColor(0xFFFF0000);
}
Run Code Online (Sandbox Code Playgroud)
您可以设置文本大小而不是颜色,或者根据其样式执行任何操作.