Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.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
Java 如何删除带有色调的透明工具栏_Java_Android_Oop - Fatal编程技术网

Java 如何删除带有色调的透明工具栏

Java 如何删除带有色调的透明工具栏,java,android,oop,Java,Android,Oop,我在我的应用程序中使用了一种新方法,将某些文本和项目设置为颜色,作为主题。但出于某种原因,当我以面向对象的方式编写它时,我会因为一些奇怪的原因使工具栏着色 使用非OOP方法,我得到: public void setOffTheme(){ slotsActivity.getToolbar().setTitle(“\”轮盘赌“); slotsActivity.getPlaceBettText().setHint(“\”Bet\”); slotsActivity.getInstructions().

我在我的应用程序中使用了一种新方法,将某些文本和项目设置为颜色,作为主题。但出于某种原因,当我以面向对象的方式编写它时,我会因为一些奇怪的原因使工具栏着色

使用非OOP方法,我得到:

public void setOffTheme(){
slotsActivity.getToolbar().setTitle(“\”轮盘赌“);
slotsActivity.getPlaceBettText().setHint(“\”Bet\”);
slotsActivity.getInstructions().setText(“选择颜色”);
slotsActivity.getStart().setText(“\”开始“);
Typeface tf=Typeface.createFromAsset(getResources().getAssets(),“Helvetica Bold.ttf”);
slotsActivity.getInstructions().setTypeface(tf);
slotsActivity.getThemeImage().setImageResource(R.drawable.offtemplate);
slotsActivity.getmConstraintLayout().setBackgroundColor(getTheColor(R.color.colorAccent));
slotsActivity.getColorSpinner().setBackgroundColor(getTheColor(R.color.colorOffWhite));
slotsActivity.getInstructions().setTextColor(getTheColor(R.color.colorGucciBlack));
slotsActivity.getPlaceBettText().setTypeface(tf);
slotsActivity.getPlaceBetText().setTextColor(getTheColor(R.color.colorGucciBlack));
slotsActivity.getPlaceBettText().setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(R.color.ColorGUCIblack));
ArrayAdapter dataAdapter=新的ArrayAdapter(这个,R.layout.my_微调器_样式,slotsActivity.getBettingColors()){
//更改下拉列表和选定对象的颜色
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=super.getView(位置、转换视图、父级);
(文本视图)v.setTextSize(16);
((TextView)v.setTextColor(getResources().getColorStateList(R.color.colorGucciBlack));
(文本视图)v.setBackgroundColor(颜色.透明);
返回v;
}
公共视图getDropDownView(int位置、视图转换视图、视图组父视图){
视图v=super.getDropDownView(位置、转换视图、父视图);
((TextView)v.setTextColor(getResources().getColorStateList(R.color.colorGucciBlack));
v、 setBackgroundColor(ContextCompat.getColor(settingsActivity.this,R.color.colorOffWhite));
((文本视图)v.setGravity(Gravity.LEFT);
返回v;
}
};
slotsActivity.getColorSpinner().setAdapter(dataAdapter);
slotsActivity.getStart().setBackgroundResource(R.drawable.buttonshapeoff);
slotsActivity.getStart().setTextColor(getTheColor(R.color.colorGucciBlack));
slotsActivity.getStart().setTypeface(tf);
slotsActivity.getToolbar().setBackgroundColor(getTheColor(R.color.colorOffWhite));
}
而OOP代码显示:

//这是对方法的调用
设置主题(R.color.colorAccent、R.color.colorOffWhite、R.color.colorGuccibluck、R.drawable.buttonshapeoff、R.drawable.offtemplate、“\”轮盘赌“、“\”打赌“、”挑选颜色“、”开始“、”Helvetica Bold.ttf”);
//这就是方法
public void setTheme(final int backgroundColor、final int primaryColor、final int textColor、int buttonShape、int template、String title、String betName、String pickName、String startName、String typrface){
Typeface tf=Typeface.createFromAsset(getResources().getAssets(),typrface);
slotsActivity.getInstructions().setTypeface(tf);
slotsActivity.getToolbar().setTitle(标题);
slotsActivity.getPlaceBettText().setHint(betName);
slotsActivity.getInstructions().setText(pickName);
slotsActivity.getStart().setText(startName);
slotsActivity.getThemeImage().setImageResource(templete);
slotsActivity.getmConstraintLayout().setBackgroundColor(getTheColor(backgroundColor));
slotsActivity.getColorSpinner().setBackgroundColor(getTheColor(primaryColor));
slotsActivity.getInstructions().setTextColor(getTheColor(textColor));
slotsActivity.getPlaceBettText().setTypeface(tf);
slotsActivity.GetPlaceBettText().setTextColor(getTheColor(textColor));
slotsActivity.GetPlaceBettText().setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(textColor)));
ArrayAdapter dataAdapter=新的ArrayAdapter(这个,R.layout.my_微调器_样式,slotsActivity.getBettingColors()){
//更改下拉列表和选定对象的颜色
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=super.getView(位置、转换视图、父级);
(文本视图)v.setTextSize(16);
((TextView)v.setTextColor(getResources().getColorStateList(textColor));
(文本视图)v.setBackgroundColor(颜色.透明);
返回v;
}
公共视图getDropDownView(int位置、视图转换视图、视图组父视图){
视图v=super.getDropDownView(位置、转换视图、父视图);
((TextView)v.setTextColor(getResources().getColorStateList(textColor));
v、 setBackgroundColor(ContextCompat.getColor(settingsActivity.this,primaryColor));
((文本视图)v.setGravity(Gravity.LEFT);
返回v;
}
};
slotsActivity.getColorSpinner().setAdapter(dataAdapter);
slotsActivity.getStart().setBackgroundResource(buttonShape);
slotsActivity.getToolbar().setBackgroundColor(primaryColor);
}

将第一个块中的调用与第二个块中的调用进行比较。@MikeM。但值是相同的,第一个值中的颜色是常量,而第二个值中的颜色作为参数传递。您可以在2个方法的顶部看到对该方法的调用。=================================================================================================================================================================================================================================================================================================================================================================================================================================设置主题(R.color.colorAccent、R.color.colorOffWhite、R.color.colorGucciBlack、R.drawable.buttonshapeoff、R.drawable.offtemplate)、“轮盘赌”、“打赌”、“挑选颜色”、“开始”、“Helvetica Bo”
public void setOffTheme(){
    slotsActivity.getToolbar().setTitle("\"Roulette\"");
    slotsActivity.getPlaceBetText().setHint("\"Bet\"");
    slotsActivity.getInstructions().setText("\"Pick a color\"");
    slotsActivity.getStart().setText(" \"Start\" ");

    Typeface tf =Typeface.createFromAsset(getResources().getAssets(), "Helvetica Bold.ttf");
    slotsActivity.getInstructions().setTypeface(tf);

    slotsActivity.getThemeImage().setImageResource(R.drawable.offtemplate);
    slotsActivity.getmConstraintLayout().setBackgroundColor(getTheColor( R.color.colorAccent));
    slotsActivity.getColorSpinner().setBackgroundColor(getTheColor( R.color.colorOffWhite));

    slotsActivity.getInstructions().setTextColor(getTheColor(R.color.colorGucciBlack));
    slotsActivity.getPlaceBetText().setTypeface(tf);
    slotsActivity.getPlaceBetText().setTextColor(getTheColor(R.color.colorGucciBlack));
    slotsActivity.getPlaceBetText().setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(R.color.colorGucciBlack) ));

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.my_spinner_style, slotsActivity.getBettingColors()){
        //changes color of the drop down and selected
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = super.getView(position, convertView, parent);

            ((TextView) v).setTextSize(16);
            ((TextView) v).setTextColor(getResources().getColorStateList(R.color.colorGucciBlack) );
            ((TextView) v).setBackgroundColor(Color.TRANSPARENT);

            return v;
        }

        public View getDropDownView(int position, View convertView, ViewGroup parent) {
            View v = super.getDropDownView(position, convertView, parent);
            ((TextView) v).setTextColor(getResources().getColorStateList(R.color.colorGucciBlack) );
            v.setBackgroundColor(ContextCompat.getColor(settingsActivity.this, R.color.colorOffWhite));
            ((TextView) v).setGravity(Gravity.LEFT);

            return v;
        }
    };

    slotsActivity.getColorSpinner().setAdapter(dataAdapter);

    slotsActivity.getStart().setBackgroundResource(R.drawable.buttonshapeoff);
    slotsActivity.getStart().setTextColor(getTheColor(R.color.colorGucciBlack));
    slotsActivity.getStart().setTypeface(tf);
    slotsActivity.getToolbar().setBackgroundColor(getTheColor(R.color.colorOffWhite));
}
//this is the call to the method
      setTheme(R.color.colorAccent, R.color.colorOffWhite, R.color.colorGucciBlack, R.drawable.buttonshapeoff,R.drawable.offtemplate,"\"Roulette\"","\"Bet\"","\"Pick a color\"", " \"Start\" ","Helvetica Bold.ttf");

// this is the method
public void setTheme(final int backgroundColor, final int primaryColor,  final int textColor,int buttonShape, int templete,String title,String betName,String pickName,String startName,String typrface){
    Typeface tf =Typeface.createFromAsset(getResources().getAssets(), typrface);
    slotsActivity.getInstructions().setTypeface(tf);

    slotsActivity.getToolbar().setTitle(title);
    slotsActivity.getPlaceBetText().setHint(betName);
    slotsActivity.getInstructions().setText(pickName);
    slotsActivity.getStart().setText(startName);

    slotsActivity.getThemeImage().setImageResource(templete);
    slotsActivity.getmConstraintLayout().setBackgroundColor(getTheColor( backgroundColor));
    slotsActivity.getColorSpinner().setBackgroundColor(getTheColor( primaryColor));

    slotsActivity.getInstructions().setTextColor(getTheColor(textColor));
    slotsActivity.getPlaceBetText().setTypeface(tf);
    slotsActivity.getPlaceBetText().setTextColor(getTheColor(textColor));
    slotsActivity.getPlaceBetText().setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(textColor) ));

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.my_spinner_style, slotsActivity.getBettingColors()){
        //changes color of the drop down and selected
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = super.getView(position, convertView, parent);

            ((TextView) v).setTextSize(16);
            ((TextView) v).setTextColor(getResources().getColorStateList(textColor) );
            ((TextView) v).setBackgroundColor(Color.TRANSPARENT);

            return v;
        }

        public View getDropDownView(int position, View convertView, ViewGroup parent) {
            View v = super.getDropDownView(position, convertView, parent);
            ((TextView) v).setTextColor(getResources().getColorStateList(textColor) );
            v.setBackgroundColor(ContextCompat.getColor(settingsActivity.this, primaryColor));
            ((TextView) v).setGravity(Gravity.LEFT);

            return v;
        }
    };

    slotsActivity.getColorSpinner().setAdapter(dataAdapter);

    slotsActivity.getStart().setBackgroundResource(buttonShape);
    slotsActivity.getToolbar().setBackgroundColor(primaryColor);
}