Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android-如何在导航抽屉中选择不同的项目时设置不同的背景色?_Android_Menu_Navigation_Drawer - Fatal编程技术网

android-如何在导航抽屉中选择不同的项目时设置不同的背景色?

android-如何在导航抽屉中选择不同的项目时设置不同的背景色?,android,menu,navigation,drawer,Android,Menu,Navigation,Drawer,我正在Android Studio上设计一个web视图应用程序。我有一个导航抽屉,我已经成功地改变了所选物品的颜色。我现在想要的是能够在选择时为不同的项目分配不同的颜色。例如,如果用户选择第一个项目,则该项目的背景颜色将变为橙色,但如果用户选择第二个项目,则第二个项目的背景将变为蓝色。您将获得该视图,并在其onTouch被激活时将其背景颜色设置为所需颜色 例如: view.setOnTouchListener(new View.OnTouchListener() {

我正在Android Studio上设计一个web视图应用程序。我有一个导航抽屉,我已经成功地改变了所选物品的颜色。我现在想要的是能够在选择时为不同的项目分配不同的颜色。例如,如果用户选择第一个项目,则该项目的背景颜色将变为橙色,但如果用户选择第二个项目,则第二个项目的背景将变为蓝色。

您将获得该视图,并在其onTouch被激活时将其背景颜色设置为所需颜色

例如:

    view.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        // PRESSED
                        view.setBackground(<yourColorToChangeTo>);
                        return true; // if you want to handle the touch event
                    case MotionEvent.ACTION_UP:
                        // RELEASED
                        view.setBackground(<originalColor>);
                        return true; // if you want to handle the touch event
                }
                return false;
            }
        });
        return true;
    };
view.setOnTouchListener(新的view.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
开关(event.getAction()){
case MotionEvent.ACTION\u DOWN:
//压制
视图。挫折背景();
返回true;//如果要处理触摸事件
case MotionEvent.ACTION\u UP:
//释放
视图。挫折背景();
返回true;//如果要处理触摸事件
}
返回false;
}
});
返回true;
};
更新

执行此操作以保持单击后的颜色:

<yourView>.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v) 
    {
        view.setBackground(<ColorToChangeTo>);
    }
});
.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v)
{
视图。挫折背景();
}
});

我希望颜色保持不变,直到单击“下一步”按钮。怎么做?我已经更新了答案。这应该能解决你的问题。工作很有魅力。非常感谢你的帮助。