16진수 색상 값(#fffff )을 정수 값으로 변환합니다.
서버로부터 16진수 컬러 값을 수신하고 있습니다(이 형식에서는,#xxxxxx
,예#000000
검정색)
이 값을 정수로 변환하려면 어떻게 해야 합니까?
하려고 했는데Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))
더 많은 육탄성 검사를 받다0x000000
결과이지만, 이것은, 그 결과로서 깊이 파고들지 않습니다.int
여기, 다른 조언은 없나요?
에러가 표시된다.08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer
Android SDK를 사용하고 있습니다.setBackgroundColor(int color)
이 함수는 짐작하신 바와 같이 정수 색상 값을 취합니다.
이것은 이 질문의 반대입니다.Android에서 색 정수를 16진수 문자열로 변환하는 방법
진짜 답은 다음과 같습니다.
Color.parseColor(myPassedColor)
Android에서는myPassedColor
가 되다hex
와 같은 가치관을 가지다#000
또는#000000
또는#00000000
.
단, 이 함수는 다음과 같은 단축 16진수 값을 지원하지 않습니다.#000
.
답은 매우 간단합니다.안드로이드에서 16진수 색상을 int로 변환하고 싶다면 아래 예시와 같이 안드로이드 컬러 클래스를 사용하십시오.
이것은 연한 회색용입니다.
Color.parseColor("#a8a8a8");
이상입니다. 그러면 결과를 얻을 수 있을 겁니다.
Integer.parseInt(myString.replaceFirst("#", ""), 16)
제가 찾은 것과 같은 문제가 있습니다.#AAAAAA
안드로이드가 활용할 수 있는 형태로 변환하고 싶습니다.그냥 사용하시면 됩니다.0xFFAAAAAA
안드로이드가 자동으로 색을 알 수 있게 해줬습니다.첫 번째 주의사항FF
말하고 있다alpha
가치. 도움이 되었으면 좋겠다.
진짜 답은 이렇게 단순하고 쉬운 것입니다.
String white = "#ffffff";
int whiteInt = Color.parseColor(white);
나도 같은 문제에 직면해 있었다.이렇게 해서 해결할 수 있었어요.CQM이 말했듯이 Color.parseColor()를 사용하는 것이 이 문제에 대한 좋은 해결책입니다.
사용한 코드는 다음과 같습니다.
this.Button_C.setTextColor(Color.parseColor(prefs.getString("color_prefs", String.valueOf(R.color.green))));
이 경우 기본 설정(color_prefs)에서 색상 선택을 변경할 때 버튼의 텍스트 색상(Button_C)을 변경하는 것이 목표입니다.
CQM의 답변과 다른 질문에 대한 ovokerie-ogbeta의 답변을 바탕으로 이 솔루션을 생각해냈습니다.
if (colorAsString.length() == 4) { // #XXX
colorAsString = colorAsString.replaceAll("#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])", "#$1$1$2$2$3$3");
}
int color = Color.parseColor(colorAsString);
값을 static const로 전달할 수 있는 경우 16진수 값을 Android(android.graphics)로 변환할 수 있습니다.Color)를 사용하여 이 온라인 컨버터를 사용하여 color reference를 const에 입력합니다.즉, color converter는 이 color #EE5670 = 0xFFEEE5670의 값을 지정합니다.
static const Color redColor = const Color(0xFFEE5670);
https://convertingcolors.com/hex-color-EE5670.html?search=#EE5670
문자열에서 공유 기본 설정 색상 코드를 가져온 다음 정수로 변환하고 레이아웃 배경 색상을 추가합니다.
sharedPreferences = getSharedPreferences(mypref, Context.MODE_PRIVATE);
String sw=sharedPreferences.getString(name, "");
relativeLayout.setBackgroundColor(Color.parseColor(sw));
이 작업을 수행하여 리소스에서 그리기 가능...
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@color/white"/>
<size android:height="20dp"
android:width="20dp"/>
</shape>
그럼...
Drawable mDrawable = getActivity().getResources().getDrawable(R.drawable.bg_rectangle_multicolor);
mDrawable.setColorFilter(Color.parseColor(color), PorterDuff.Mode.SRC_IN);
mView1.setBackground(mDrawable);
컬러로..."#FFFF"
색상이 투명하면...set Alpha
mView1.setAlpha(x);
플로트 9f)x 로 0-1 Ej (0.9f)
행운을 빌어요
언급URL : https://stackoverflow.com/questions/6935057/convert-hex-color-value-ffffff-to-integer-value
'programing' 카테고리의 다른 글
MySQL 3.23을 pyodbc 3.07과 연결 (0) | 2022.10.13 |
---|---|
Firebug 또는 유사한 도구를 사용하여 JavaScript/jQuery 이벤트 바인딩을 디버깅하는 방법 (0) | 2022.10.13 |
Android 앱을 프로그래밍 방식으로 종료하려면 어떻게 해야 합니까? (0) | 2022.10.13 |
Amazon EC2 - Maria에 원격으로 연결할 수 없음DB (0) | 2022.10.13 |
maria db 및 s3에 대한 클라우드 주조 공장 내 자동 백업 (0) | 2022.10.13 |