Ich war süchtig danach, als ich in der Android-Entwicklung mit UI-Design spielte, also habe ich versucht, es zu organisieren. Sie können die Farbe hexadezimal oder aus der Ressourcendatei angeben. Unter iOS gibt es keine Ressourcendatei, daher habe ich eine Weile gebraucht, um das Konzept zu verstehen. Das Knifflige für mich war das Konzept einer Ressourcendatei.
Eine Methode, die verwendet werden kann, wenn ein Schlüssel in color.xml des Ordners Res (Resource) festgelegt ist. Eine in der Praxis übliche Methode.
Resource.java
Resources res = getResources();
int chocolate_color = res.getColor(R.color.chocolate);
TextView text = new TextView(this);
text.setBackgroundColor(chocolate_color);
color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="chocolate">#d2691e</color>
</resources>
Rgb.java
TextView tv = new TextView(this);
tv.setTextColor(Color.parseColor("#FF00C0"));
// "#FF_00_C0"
// RGB
Die Methode von parseColor ist
public static int parseColor(String colorString)
Daher ist das Argument vom Typ "String" und der Rückgabewert vom Typ "int".
Farbe scheint "int color" zu sein.
Argb.java
TextView tv = new TextView(this);
tv.setTextColor(Color.parseColor("#FF0F00C0"));
// "#FF_0F_00_C0"
// ARGB
Schlüsselwörter, die verwendet werden können, sind die folgenden Schlüsselwörter
red
blue
green
black
white
gray
cyan
magenta
yellow
lightgraydarkgray
Word.java
TextView tv = new TextView(this);
tv.setTextColor(Color.parseColor("magenta"));
--Color.BLACK
: Schwarz
--Color.BLUE
: Blau
--Color.CYAN
: Cyan
--Color.DKGRAY
: Dunkelgrau
--Color.GRAY
: Grau
--Color.GREEN
: Grün
--Color.LTGRAY
: Hellgrau
--Color.MAGENTA
: Magenta
--Color.RED
: Rot
--Color.TRANSPARENT
: Transparent
--Color.WHITE
: Weiß
--Color.YELLOW
: Gelb
Intcolor.java
String white = "#ffffff";
int whiteInt = Color.parseColor(white);
TextView text = new TextView(this);
text.setBackgroundColor(whiteInt);
hex.java
public static String bin2hex(byte[] data) {
StringBuffer sb = new StringBuffer();
for (byte b : data) {
String s = Integer.toHexString(0xff & b);
if (s.length() == 1) {
sb.append("0");
}
sb.append(s);
}
return sb.toString();
}
public static byte[] hex2bin(String hex) {
byte[] bytes = new byte[hex.length() / 2];
for (int index = 0; index < bytes.length; index++) {
bytes[index] = (byte) Integer.parseInt(hex.substring(index * 2, (index + 1) * 2), 16);
}
return bytes;
}
Ich denke, wenn Sie so viel gedrückt halten, können Sie sofort nach dem Anzeigen dieser Seite eine Farbkonvertierung durchführen.
Recommended Posts