RGB转换为HEX编程 - 机器人 [英] Convert RGB to HEX programatically - Android

查看:136
本文介绍了RGB转换为HEX编程 - 机器人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此​​,进出口让一个应用程序,RGB颜色转换为十六进制(例如:#FFFFFF)。我有三个EditText上的红,绿,蓝。当为每一个I输入值EDITTEXT象(255,255,255)和I单击按钮的RGB值会被转换为十六进制,并会在TextView中显示。有人可以帮助我的计算这里是我的codeS。

 公共类MainActivity延伸活动{

公共字符串str =;


 INT I,NUM,numtemp;
    的EditText showRed,showGreen,showBlue;
    字符串displayStr =;
    按钮零,一,二,三,四,五,六,七,八,九,清晰,转换;

    @覆盖
    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);

     。this.getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

        showRed =(EditText上)findViewById(R.id.red);
        showGreen =(EditText上)findViewById(R.id.green);
        showBlue =(EditText上)findViewById(R.id.blue);

        明确=(按钮)findViewById(R.id.clear);
        转换=(按钮)findViewById(R.id.convert);




      convert.setOnClickListener(新OnClickListener(){

            @覆盖
            公共无效的onClick(查看为arg0){

            //皈依Computaion这里帮助!!!!!!!!!

            }
        });







        clear.setOnClickListener(新OnClickListener(){

                @覆盖
                公共无效的onClick(查看为arg0){

                    海峡=;
                       NUM = 0;
                       numtemp = 0;

                       showRed.setText();
                    showRed.requestFocus();
                       showGreen.setText();
                       showBlue.setText();
                       displayStr =;


                }
            });

    }







      公共无效btn1Clicked(视图v){
       插入(1);

      }

 公共无效btn2Clicked(视图v){
       插入(2);

      }
      公共无效btn3Clicked(视图v){
       插入(3);

      }
      公共无效btn4Clicked(视图v){
       插入(4);

      }
      公共无效btn5Clicked(视图v){
       插入(5);

      }
      公共无效btn6Clicked(视图v){
       插入(6);
      }
      公共无效btn7Clicked(视图v){
       插入(7);

      }
      公共无效btn8Clicked(视图v){
       插入(8);

      }
      公共无效btn9Clicked(视图v){
       插入(9);

      }

      公共无效btn0Clicked(视图v){
           插入(0);

          }


 私人无效插入(诠释J){
    // TODO自动生成方法存根


     如果(showRed.hasFocus()){
     海峡= STR + Integer.toString(J);
       NUM = Integer.valueOf(STR).intValue();
       displayStr + = Integer.toString(J);

       showRed.setText(displayStr);

        如果((showRed.length()== 3)){
         displayStr =;
        showGreen.requestFocus();
        }
    }

    否则如果(showGreen.hasFocus()){

        海峡= STR + Integer.toString(J);
           NUM = Integer.valueOf(STR).intValue();
           displayStr + = Integer.toString(J);

        showGreen.setText(displayStr);

        如果((showGreen.length()== 3)){
             displayStr =;
            showBlue.requestFocus();
            }
    }

    否则如果(showBlue.hasFocus()){
        海峡= STR + Integer.toString(J);
           NUM = Integer.valueOf(STR).intValue();
           displayStr + = Integer.toString(J);

           showBlue.setText(displayStr);

        如果((showBlue.length()== 3)){
             displayStr =;
            showBlue.clearFocus();

            }
    }
}
}
 

解决方案

只是通过3种颜色的红,绿,蓝对这个功能

数组

  INT []颜色= {200170100};
  btn.setBackgroundColor(getHexColor(颜色));


  公共静态INT getHexColor(INT []颜色){
    返回android.graphics.Color.rgb(颜色[0],彩色[1],颜色[2]);
 }
 

So Im making an app that converts RGB Colors to Hexadecimal (ex. #FFFFFF). I have three edittext for Red, Green and Blu. When I input values for every edittext like (255,255,255) and I click the button the RGB values will be converted to Hexadecimal and will be shown in textview. Can someone help me with the computation here is my codes.

public class MainActivity extends Activity {

public String str ="";


 int i,num,numtemp;
    EditText showRed, showGreen, showBlue;
    String displayStr = "";
    Button zero, one, two, three, four, five, six, seven, eight, nine, clear, convert;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

     this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

        showRed = (EditText)findViewById(R.id.red);
        showGreen = (EditText)findViewById(R.id.green);
        showBlue = (EditText)findViewById(R.id.blue);

        clear = (Button)findViewById(R.id.clear); 
        convert = (Button)findViewById(R.id.convert); 




      convert.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

            //Convertion Computaion here HELP!!!!!!!!!

            }
        });







        clear.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {

                    str ="";
                       num = 0;
                       numtemp = 0;

                       showRed.setText("");
                    showRed.requestFocus();
                       showGreen.setText("");
                       showBlue.setText("");
                       displayStr = "";


                }
            });

    }







      public void btn1Clicked(View v){
       insert(1);

      }

 public void btn2Clicked(View v){
       insert(2);

      }
      public void btn3Clicked(View v){
       insert(3);

      }
      public void btn4Clicked(View v){
       insert(4);

      }
      public void btn5Clicked(View v){
       insert(5);

      }
      public void btn6Clicked(View v){
       insert(6);
      }
      public void btn7Clicked(View v){
       insert(7);

      }
      public void btn8Clicked(View v){
       insert(8);

      }
      public void btn9Clicked(View v){
       insert(9);

      }

      public void btn0Clicked(View v){
           insert(0);

          }


 private void insert(int j) {
    // TODO Auto-generated method stub


     if(showRed.hasFocus()){    
     str = str+Integer.toString(j);
       num = Integer.valueOf(str).intValue();        
       displayStr += Integer.toString(j);    

       showRed.setText(displayStr);

        if((showRed.length() == 3)){
         displayStr = "";
        showGreen.requestFocus();
        }
    }

    else if(showGreen.hasFocus()){  

        str = str+Integer.toString(j);
           num = Integer.valueOf(str).intValue();        
           displayStr += Integer.toString(j); 

        showGreen.setText(displayStr);

        if((showGreen.length() == 3)){
             displayStr = "";
            showBlue.requestFocus();
            }                   
    }

    else if(showBlue.hasFocus()){   
        str = str+Integer.toString(j);
           num = Integer.valueOf(str).intValue();        
           displayStr += Integer.toString(j); 

           showBlue.setText(displayStr);

        if((showBlue.length() == 3)){
             displayStr = "";
            showBlue.clearFocus();

            }
    }                                    
}        
}

解决方案

Just pass an array of 3 colors red, green, blue to this function

  int[] color={200,170,100};
  btn.setBackgroundColor(getHexColor(color));


  public static int getHexColor(int[] color) {
    return android.graphics.Color.rgb(color[0], color[1], color[2]);
 }

这篇关于RGB转换为HEX编程 - 机器人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆