এই পদ্ধতিতে ইন্টিজার.টোহেক্সস্ট্রিংয়ের সাথে , কালার. পার্সক্লোর ব্যবহার করার সময় কিছু রঙের জন্য আপনার অজানা রঙের ব্যতিক্রম থাকতে পারে।
এবং এই পদ্ধতির সাহায্যে স্ট্রিং.ফর্ম্যাট ("#% 06 এক্স", (0xFFFFFF এবং ইন্টকালার)) , আপনি আলফা মান হারাবেন।
সুতরাং আমি এই পদ্ধতিটি সুপারিশ করছি:
public static String ColorToHex(int color) {
int alpha = android.graphics.Color.alpha(color);
int blue = android.graphics.Color.blue(color);
int green = android.graphics.Color.green(color);
int red = android.graphics.Color.red(color);
String alphaHex = To00Hex(alpha);
String blueHex = To00Hex(blue);
String greenHex = To00Hex(green);
String redHex = To00Hex(red);
// hexBinary value: aabbggrr
StringBuilder str = new StringBuilder("#");
str.append(alphaHex);
str.append(blueHex);
str.append(greenHex);
str.append(redHex );
return str.toString();
}
private static String To00Hex(int value) {
String hex = "00".concat(Integer.toHexString(value));
return hex.substring(hex.length()-2, hex.length());
}