簡體   English   中英

如何將我的按鈕設置為背景的隨機顏色。 Android的

[英]How can set my button a random color to the background. Android

對不起,我的英語不好,我是android的初學者,現在我被卡住了。

現在,我的問題是如何使用OnClickListener將隨機顏色設置為背景。 您可以幫我解決這個問題嗎?

我有一堂課(Kleurenpalet.java)

  package com.example.pstek.randomcolor; import android.graphics.Color; import java.util.Random; public class Kleurenpalet{ private static String[] kleur = { "#39add1", // light blue "#3079ab", // dark blue "#3FD52D", // green "FFFF0000", // red ""}; public int getRandomColor() { Random rand = new Random(); int color = rand.nextInt(kleur.length); return Color.parseColor(kleur[color]); } } 

我的主要課程是:

 package com.example.pstek.tegeltjeswijsheid; import android.support.constraint.ConstraintLayout; import android.support.constraint.solver.widgets.ConstraintWidget; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Layout; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.Random; public class MainActivity extends AppCompatActivity { private ConstraintLayout layout; private Button randombutton; int randomColor = new Kleurenpalet().getRandomColor(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); layout = findViewById(R.id.layout); randombutton = findViewById(R.id.button); randombutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { layout.setBackgroundColor(ContextCompat.getColor(getApplicationContext(), ; } }); } } 

也許用初始化的顏色調用setBackgroundColor

layout.setBackgroundColor(randomColor);

或每次都不同:

layout.setBackgroundColor(new Kleurenpalet().getRandomColor());

我不明白您在這里嘗試做什么:

layout.setBackgroundColor(ContextCompat.getColor(getApplicationContext(), ;

你為什么在那里留空 此外,如果解析Kleurenpalet顏色,則必須不帶ContextCompat使用。 像這樣設置您的顏色:

layout.setBackgroundColor(randomColor);

ContextCompat 用於解析資源文件中的顏色 ,例如:

layout.setBackgroundColor(
        ContextCompat.getColor(
            getApplicationContext(), 
            R.color.colorPrimary
    )
);

在MainActivity代碼中:

  public class MainActivity extends AppCompatActivity {
  private ConstraintLayout layout;
  private Button randombutton;

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

    layout = findViewById(R.id.layout);

    randombutton = findViewById(R.id.button);



    randombutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int randomColor = new Kleurenpalet().getRandomColor();
            layout.setBackgroundColor(randomColor);
        }
     });
    }
    }

您必須在按鈕單擊事件中放入“隨機數字”和“布局設置顏色”:

randombutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int randomColor = new Kleurenpalet().getRandomColor();
            layout.setBackgroundColor(randomColor);
        }
     });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM