It includes alpha values. format #AARRGGBB

On Thursday, 11 February 2016 08:27:49 UTC+1, gjs wrote:
>
> Hi,
>
> I guess just make sure that your color values used in your 
> "DummyContent.ITEMS.get(position).color" array do also include an alpha 
> values ?
>
> Regards
>
> On Wednesday, February 10, 2016 at 10:42:51 PM UTC+11, Nnabueze Uhiara 
> wrote:
>
> I refactored it as you suggested but the issue persisted till I commented 
> out the spinnerAdapter onItemSelectedListener. It works perfectly now but I 
> still want to change the underlying layout's background with spinner i.e I 
> want when a spinner item is clicked, the colour of the underlying layout 
> background changes to the colour of the spinnerItem. Could you help me with 
> that pls?. This is the refactored code:
>
> package com.nezspencer.nuhiara.colourhub;
>
> import android.graphics.Color;
> import android.os.AsyncTask;
> import android.os.Bundle;
> import android.support.annotation.Nullable;
> import android.support.v4.app.Fragment;
> import android.text.TextUtils;
> import android.util.Log;
> import android.view.LayoutInflater;
> import android.view.MotionEvent;
> import android.view.View;
> import android.view.ViewGroup;
> import android.widget.AdapterView;
> import android.widget.EditText;
> import android.widget.LinearLayout;
> import android.widget.SeekBar;
> import android.widget.Spinner;
> import android.widget.TextView;
>
> import com.dd.CircularProgressButton;
> import com.nezspencer.nuhiara.colourhub.adapter.SpinnerAdapter;
> import com.nezspencer.nuhiara.colourhub.dummy.DummyContent;
>
> import java.util.Arrays;
> import java.util.List;
>
> /**
>  * Created by Nnabueze on 1/30/2016.
>  */
> public class ColorMixFragment extends Fragment implements 
> View.OnClickListener,SeekBar.OnSeekBarChangeListener {
>
>     private SeekBar A_seekbar;
>     private SeekBar R_seekBar;
>     private SeekBar G_seekbar;
>     private SeekBar B_seekbar;
>     private EditText inputColor;
>     private CircularProgressButton renderButton;
>     private TextView rgbColor;
>     private TextView argbColor;
>     private Spinner backgroundColorSpinner;
>     private LinearLayout screenLayout;
>     private LinearLayout backLayout;
>     private static String A_string=null;
>     private static String R_string=null;
>     private static String G_string=null;
>     private static String B_string=null;
>     private List<String>colorCodes;
>     int size;
>     static int A_colour=255;
>     static int R_colour=0;
>     static int G_colour=0;
>     static int B_colour=0;
>     @Nullable
>     @Override
>     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
> Bundle savedInstanceState) {
>
>         
> colorCodes=Arrays.asList(getResources().getStringArray(R.array.color_codes));
>         size = colorCodes.size() - 1;
>
>         A_string=colorCodes.get(size);
>         R_string=colorCodes.get(0);
>         G_string=colorCodes.get(0);
>         B_string=colorCodes.get(0);
>
>         View 
> view=inflater.inflate(R.layout.fragment_colour_mix,container,false);
>         findAllViews(view);
>         displayColorCode();
>         screenLayout.setBackgroundColor(stringToColor(computeColor()));
>         renderButton.setOnClickListener(this);
>         A_seekbar.setMax(size);
>         R_seekBar.setMax(size);
>         G_seekbar.setMax(size);
>         B_seekbar.setMax(size);
>         inputColor.setFocusable(false);
>         inputColor.setOnTouchListener(new View.OnTouchListener() {
>             @Override
>             public boolean onTouch(View v, MotionEvent event) {
>                 inputColor.setFocusableInTouchMode(true);
>                 return false;
>             }
>         });
>         inputColor.setOnFocusChangeListener(new View.OnFocusChangeListener() {
>             @Override
>             public void onFocusChange(View v, boolean hasFocus) {
>
>                 if (hasFocus) {
>                     renderButton.setProgress(0);
>                     renderButton.setIndeterminateProgressMode(false);
>                 }
>             }
>         });
>         A_seekbar.setOnSeekBarChangeListener(this);
>         R_seekBar.setOnSeekBarChangeListener(this);
>         G_seekbar.setOnSeekBarChangeListener(this);
>         B_seekbar.setOnSeekBarChangeListener(this);
>
>         backgroundColorSpinner.setAdapter(new SpinnerAdapter(getActivity(), 
> DummyContent.ITEMS));
>         /*backgroundColorSpinner.setOnItemSelectedListener(new 
> AdapterView.OnItemSelectedListener() {
>             @Override
>             public void onItemSelected(AdapterView<?> parent, View view, int 
> position, long id) {
>                 
> backLayout.setBackgroundColor(DummyContent.ITEMS.get(position).color);
>             }
>
>             @Override
>             public void onNothingSelected(AdapterView<?> parent) {
>
>             }
>         });*/
>
>
>
>         //backLayout.setBackgroundColor(Color.GREEN);
>         //screenLayout.setBackgroundResource(R.color.trans_yellow);
>         return view;
>     }
>
>
>
>     private void findAllViews(View view)
>     {
>         A_seekbar=(SeekBar)view.findViewById(R.id.colorA);
>         R_seekBar=(SeekBar)view.findViewById(R.id.colorR);
>         G_seekbar=(SeekBar)view.findViewById(R.id.colorG);
>         B_seekbar=(SeekBar)view.findViewById(R.id.colorB);
>         inputColor=(EditText)view.findViewById(R.id.input_colour);
>         
> renderButton=(CircularProgressButton)view.findViewById(R.id.btnWithText);
>         rgbColor=(TextView)view.findViewById(R.id.rgb_color);
>         argbColor=(TextView)view.findViewById(R.id.argb_color);
>         backgroundColorSpinner=(Spinner)view.findViewById(R.id.spinner);
>         screenLayout=(LinearLayout)view.findViewById(R.id.fore_layout);
>         backLayout=(LinearLayout)view.findViewById(R.id.back_layout);
>     }
>
>     @Override
>     public void onClick(View v) {
>
>         if (v.getId()==R.id.btnWithText)
>         {
>             String t=inputColor.getText().toString();
>             if (TextUtils.isEmpty(t))
>             {
>                 inputColor.setError("enter color code");
>                 return;
>             }
>
>             try {
>                 Color.parseColor(t);
>                 new RotateButton().execute(t);
>             }
>             catch (IllegalArgumentException e)
>             {
>                 inputColor.setError("not a color");
>                 e.printStackTrace();
>             }
>         }
>     }
>
>
>
>     public void getStringEquivalent(int change,String id)
>     {
>
>             if (id.equalsIgnoreCase("alpha"))
>             {
>                 A_string=colorCodes.get(change);
>             }
>
>             else if (id.equalsIgnoreCase("red"))
>             {
>                 R_string=colorCodes.get(change);
>             }
>
>             else if (id.equalsIgnoreCase("green"))
>             {
>                 G_string=colorCodes.get(change);
>             }
>             else {
>                 B_string=colorCodes.get(change);
>             }
>
>
>         screenLayout.setBackgroundColor(stringToColor(computeColor()));
>         displayColorCode();
>
>     }
>
>     public String computeColor() {return 
> "#"+A_string+R_string+G_string+B_string;}
>
>     public Integer stringToColor(String colorString)
>     {
>         return Color.parseColor(colorString);
>     }
>
>     public void displayColorCode()
>     {
>         rgbColor.setText("#" + R_string + G_string + B_string);
>         argbColor.setText(computeColor());
>     }
>
>     @Override
>     public void onProgressChanged(SeekBar seekBar, int progress, boolean 
> fromUser) {
>
>         final String alpha="alpha";
>         final String red="red";
>         final String green="green";
>         final String blue="blue";
>
>         if (seekBar.getId()==R.id.colorA)
>         {
>             A_colour=size-progress;
>             A_string=intToHex(size-progress);
>             //getStringEquivalent(size-progress,alpha);
>         }
>
>         else if (seekBar.getId()==R.id.colorR)
>         {
>             R_string=intToHex(progress);
>             //getStringEquivalent(progress,red);
>             R_colour=progress;
>         }
>         else if (seekBar.getId()==R.id.colorG) {
>             G_string=intToHex(progress);
>             G_colour=progress;
>             //getStringEquivalent(progress,green);
>         }
>         else
>         {
>             B_string=intToHex(progress);
>             B_colour=progress;
>             //getStringEquivalent(progress,blue);
>         }
>
>         
> screenLayout.setBackgroundColor(Color.argb(A_colour,R_colour,G_colour,B_colour));
>         displayColorCode();
>     }
>
>     @Override
>     public void onStartTrackingTouch(SeekBar seekBar) {
>
>     }
>
>     @Override
>     public void onStopTrackingTouch(SeekBar seekBar) {
>
>     }
>
>     public String intToHex(int i) {return String.format("%02x",i & 0xFF);}
>
>     public void extractColorString(String colorString)
>     {
>
>         String temp=colorString.substring(1);
>         Log.e("temp"," "+temp);
>         int length=temp.length();
>
>         if (length==6)
>         {
>             A_string=colorCodes.get(0);
>             R_string=temp.substring(0,2);
>             G_string=temp.substring(2,4);
>             B_string=temp.substring(4,6);
>         }
>
>
>         else {
>             A_string=temp.substring(0,2);
>             R_string=temp.substring(2,4);
>             G_string=temp.substring(4,6);
>             B_string=temp.substring(6,8);
>         }
>
>         A_seekbar.setProgress(colorCodes.indexOf(A_string.toUpperCase()));
>         R_seekBar.setProgress(colorCodes.indexOf(R_string.toUpperCase()));
>         G_seekbar.setProgress(colorCodes.indexOf(G_string.toUpperCase()));
>         B_seekbar.setProgress(colorCodes.indexOf(B_string.toUpperCase()));
>
>         displayColorCode();
>     }
>
>
>
>     class RotateButton extends AsyncTask<String,Void,String> {
>         @Override
>         protected void onPreExecute() {
>             super.onPreExecute();
>             renderButton.setProgress(30);
>             renderButton.setIndeterminateProgressMode(true);
>         }
>
>         @Override
>         protected String doInBackground(String... params) {
>
>             for (int i=0; i<5000; i++)
>                 Log.i("roll button ",""+i);
>
>             return params[0];
>         }
>
>         @Override
>         protected void onPostExecute(String aVoid) {
>             super.onPostExecute(aVoid);
>
>             renderButton.setIndeterminateProgressMode(false);
>             renderButton.setProgress(100);
>             screenLayout.setBackgroundColor(Color.parseColor(aVoid));
>             /*screenLayout.setLayerType(View.LAYER_TYPE_HARDWARE, null);
>             screenLayout.setAlpha(1);
>             screenLayout.setBackgroundColor(Color.GREEN);
>             backLayout.setBackgroundColor(Color.BLUE);*/
>             inputColor.setFocusable(false);
>             extractColorString(aVoid);
>         }
>     }
> }
>
>  
>
> On Wednesday, 10 February 2016 11:58:46 UTC+1, gjs wrote:
>
> Hi,
>
> Your source code as black text on gray is difficult to read. 
>
> Instead of using -
>
> screenLayout.setAlpha(1);
> screenLayout.setBackgroundColor(Color.GREEN);
>
> - I'd suggest that you combine these into a single line of code and 
> specify both alpha & color as a single (32bit) Integer value, here an 
> example in hexadecimal -
>
> screenLayout.setBackgroundColor(0x8000FF00);
>
> - that is Alpha is x80 ie 50% transparent and the color is Green 100%
>
> or the equivalent using 
> http://developer.android.com/reference/android/graphics/Color.html#argb(int, 
> int, int, int) eg -
>
> screenLayout.setBackgroundColor( Color.argb( 128, 0, 255, 0 ) ); // 50% 
> transparent green
>
> Regards
>
>
>
>
>
>
> On Wednesday, February 10, 2016 at 6:33:57 PM UTC+11, Nnabueze Uhiara 
> wrote:
>
> So sorry for the late reply. I was offline throughout yesterday. This is 
> the code: 
>
> package com.nezspencer.nuhiara.colourhub;
>
> import android.graphics.Color;
> import android.os.AsyncTask;
>
> ...

-- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
To post to this group, send email to android-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-developers/938f29a1-2db1-4da0-95ae-40024130f75c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to