【问题标题】:How to change layout colour on java by hex?如何通过十六进制更改java上的布局颜色?
【发布时间】:2016-10-05 01:04:18
【问题描述】:

我想根据用户的回答改变布局颜色。屏幕上有一个 EditText。当用户在那里写一个十六进制代码时,背景颜色会变成用户代码。

EditText hex;
Button ok;

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

    hex = (EditText)findViewById(R.id.hex);
      // User writes like that "#232323"

    ok = (Button)findViewById(R.id.btn);


    ok.setOnClickListener(new OnclickListener){
      //I want to make background that code
    }




}

我怎样才能做到这一点?

【问题讨论】:

  • XML中父元素的ID是什么?
  • RelativeLayout id 是 xml 上的布局

标签: java android layout colors hex


【解决方案1】:
EditText hex;
Button ok;
RelativeLayout baselayout;

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

    hex = (EditText)findViewById(R.id.hex);
    ok = (Button)findViewById(R.id.btn);
    baseLayout=(RelativeLayout)findViewById(R.id.layout);

    ok.setOnClickListener(new OnclickListener){
        @Override
        public void onClick(View v)
           {
            String colorString=hex.getText().toString();

           //Validate Color before setting
            try {
                Color filteredColor = Color.parseColor(colorString);
                baseLayout.setBackgroundColor(filteredColor);
                } 
           catch (IllegalArgumentException iae) {
                // This color string is not valid
                }            
           }
    }
}

【讨论】:

  • 感谢您的帮助?
猜你喜欢
  • 2019-10-29
  • 1970-01-01
  • 2016-04-02
  • 2018-05-06
  • 2013-03-16
  • 2022-01-22
  • 2022-01-04
  • 2023-04-07
  • 1970-01-01
相关资源
最近更新 更多