0

I'm designing a container and pulling the colorcode from firebase database which is stored as String. Now I want to convert that string(Hex code) into integer(some hex code contains only integer), because Color(0XFFf3234f) take argument as integer only. decoration: BoxDecoration(color:Color(ItemList[index].ColorCode)),, then it is throwing an error The argument type 'String' can't be assigned to the parameter type 'int'. Then I've used:

class HexColor extends Color {

  static int _getColorFromHex(String hexColor) {

    hexColor = hexColor.toUpperCase().replaceAll("#", "");
    if (hexColor.length == 6) {

    }
    return int.parse(hexColor, radix: 16);
  }

  HexColor(final String hexColor) : super(_getColorFromHex(hexColor));
}

This is working fine for colorcode having strings and numbers but it gets failed for color code having numbers only, by throwing following error: The method 'toUpperCase' was called on null. Receiver: null Tried calling: toUpperCase()

Then I tried separating numeric values alone but it didn't work at all.

Here are few color codes I'm using: a74556,827255,a3d57a,662482

1 Answer 1

4

just simply convert ColorCode to int:

Color(int.parse('0xff${ItemList[index].ColorCode}'))
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.