보기의 배경색 설정 방법
보기의 배경색(이 경우 단추)을 설정하려고 합니다.
다음 코드를 사용합니다.
// set the background to green
v.setBackgroundColor(0x0000FF00 );
v.invalidate();
그러면 버튼이 화면에서 사라집니다.내가 무엇을 잘못하고 있으며 보기에서 배경색을 변경하는 올바른 방법은 무엇입니까?
감사해요.
당신은 당신의 단추를 투명하게 만들었습니다.첫 번째 바이트는 알파입니다.
ㅠㅠv.setBackgroundColor(0xFF00FF00);
setBackgoundColor를 호출하면 테두리, 모서리, 패딩 등을 포함하여 기존의 모든 배경 리소스를 덮어쓰거나 제거합니다.기존 백그라운드 리소스의 색을 변경하려는 경우...
View v;
v.getBackground().setColorFilter(Color.parseColor("#00ff00"), PorterDuff.Mode.DARKEN);
포터 더프로 실험해 보십시오.모드.* 다양한 효과를 제공합니다.
이를 위한 몇 가지 선택...
배경을 녹색으로 설정:
v.setBackgroundColor(0x00FF00);
Alpha를 사용하여 배경을 녹색으로 설정합니다.
v.setBackgroundColor(0xFF00FF00);
색을 사용하여 배경을 녹색으로 설정합니다.녹색 상수:
v.setBackgroundColor(Color.GREEN);
배경을 Colors.xml에서 정의하는 녹색으로 설정
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="myGreen">#00FF00</color>
<color name="myGreenWithAlpha">#FF00FF00</color>
</resources>
및 사용:
v.setBackgroundResource(R.color.myGreen);
그리고:
v.setBackgroundResource(R.color.myGreenWithAlpha);
또는 더 긴 바람:
v.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.myGreen));
그리고:
v.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.myGreenWithAlpha));
다음을 사용하여 16진수 색상을 임의의 리소스로 설정할 수 있습니다.
View.setBackgroundColor(Color.parseColor("#e7eecc"));
// set the background to green
v.setBackgroundColor(0x0000FF00 );
v.invalidate();
코드가 버튼을 녹색으로 설정하지 않습니다.대신, 버튼을 완전히 보이지 않게 만듭니다.
설명: 색상의 16진수 값이 잘못되었습니다.알파 값이 0이면 색상이 보이지 않습니다.
은 "16진수"입니다.0xFF00FF00
완전 불투명 녹색의 경우. 값은합니다.00과 FF 사 든 알 값 투 유 을 성 발 합 니 다 명 은 파 모 이 의 니 다 합 ▁any 유 발 ▁transpa 을 ▁between rency 00 ▁cause
화면에 표시할 첫 번째 색상을 설정하는 경우 이 속성을 관련 보기에 추가하여 관련 layout.xml(더 나은 설계)에서 색상을 설정할 수도 있습니다.
android:background="#FF00FF00"
보기의 배경색을 변경하는 올바른 방법은 무엇입니까?
임의의 View
당신이 가지고 있는 것은 맞지만, 당신은 그것을 포기해야 합니다.invalidate()
콜.콜.
일부는 만지은, 몇몇하.Views
이미 배경이 있습니다. AButton
예를 들어, 는 이미 배경(버튼 자체의 면)을 가지고 있습니다.은 이배은입니다.StateListDrawable
은 찾수있다니습을에서 수 .android-2.1/data/res/drawable/btn_default.xml
설치된 Android SDK에서 확인할 수 있습니다.이는 여러 밀도로 사용할 수 있는 9개 패치의 비트맵 이미지 묶음을 의미합니다.친환경 목표를 달성하려면 이 모든 것을 복제하고 수정해야 합니다.
간단히 말해서, 당신은 다른 UI 패턴을 찾는 것이 당신의 배경을 바꾸는 것보다 더 나을 것입니다.Button
.
추가 시도:
setBackgroundColor(Color.parseColor("#FF0000"));
나는 API min 16, target 23에서 사용합니다.
Button WeekDoneButton = (Button) viewWeeklyTimetable.findViewById(R.id.week_done_button);
WeekDoneButton.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.colorAccent));
이것은 나에게 효과가 있습니다.
v.getBackground().setTint(Color.parseColor("#212121"));
이렇게 하면 배경 자체를 변경하지 않고 배경색만 변경할 수 있습니다.이 기능은 예를 들어 모서리가 둥근 배경이 있는 경우에 유용합니다.
mButton.setBackgroundColor(getResources().getColor(R.color.myColor));
간단하게 사용할 수 있습니다.
view.setBackgroundColor(Color.parseColor("#FFFFFF"));
간단하게 사용할 수 있습니다.
view.setBackgroundColor(Color.rgb(0, 198, 255));
이 질문에서는 보기의 배경색 변경에 대해 설명합니다.답변 중 하나에서 사용자는 런타임 중에 배경색을 변경하는 방법을 설명합니다.화면에서 다른 개체를 수정하는 방법을 알아보겠지만, 적어도 버튼 클릭 시 보기의 배경색을 수정할 수 있게 함으로써 시작이 좋습니다.
Android 6에서 설명 ContextCompact 사용
view.setBackgroundColor( ContextCompat.getColor(this, R.color.your_color));
코틀린에서는 다음과 같이 할 수 있습니다.
val backgroundColor = R.color.whatever_color_you_like
view.setBackgroundColor(getColorCompat(backgroundColor))
어디에getColorCompat()
는 확장 함수입니다.
/**
* Extension method to provide simpler access to {@link ContextCompat#getColor(int)}.
*/
fun Context.getColorCompat(color: Int) = ContextCompat.getColor(this, color)
view.setBackgroundColor(R.color.primaryColor);
이전 색상 값에 색상을 추가하여 색상이 다릅니다.
저에게 맞는 것은 다음과 같습니다.
view.setBackgroundResource(R.color.primaryColor);
기본 색상이 있다고 가정해 보겠습니다.values=>colors.xml
다음과 같이:
<resources>
<color name="primary">#FDD835</color>
</resources>
그래서 만약 우리가 우리의 커스텀 컬러를 사용하고 싶다면.setBackgroundColor(@ColorInt int Color)
그런 다음 다음 다음과 같이 사용할 생성자/프로그래밍이 포함된 주석이 필요합니다.
@SuppressLint("ResourceAsColor")
public _LinearLayout(Context context) {
super(context);
// Formatting our layout : )
super.setBackgroundColor(R.color.primary);
....
}
합격해야 합니다.int
의론 중에
첫 번째 예:
view.setBackgroundColor(-500136)
두 번째 예:
int colorId = R.color.green;
view.setBackgroundResource(colorId);
이것은 잘 작동할 것입니다.v.setBackgroundColor(0xFF00FF00);
저는 위의 모든 방법을 시도했습니다.하지만 저는 제가 필요로 하는 것을 이루지 못했습니다.여기 제 시도가 있습니다.색상에 16진수 코드를 사용하고 있으며 색상을 이미지의 배경으로 설정하려면 이 코드가 코틀린 코드입니다.
val bitmap = Bitmap.createBitmap(30, 30, Bitmap.Config.ARGB_8888)
val canvas = Canvas(bitmap)
val colorCode = "#ffffff"
canvas.drawColor(Color.parseColor(colorCode))
mImageViewLogo.setImageBitmap(bitmap)
보기에서 setBackgroundColor를 호출할 때 알파 값을 0이 아닌 값(예: 0xFF)으로 설정해야 합니다. 그렇지 않으면 색상이 표시되지 않습니다.
TextView tv = (TextView)findViewById(R.id.myTextview);
int rgb = 0xF05922; // Orange
tv.setBackgroundColor(0xFF000000|rgb); // Use bitwise OR to add alpha to RGB value
언급URL : https://stackoverflow.com/questions/2173936/how-to-set-background-color-of-a-view
'programing' 카테고리의 다른 글
C# HashSet에 해당하는 JavaScript는 무엇입니까? (0) | 2023.08.09 |
---|---|
'for' 루프에서 i = i + 1과 i + = 1의 차이는 무엇입니까? (0) | 2023.08.09 |
Swift: 제네릭 형식이 프로토콜을 준수하는지 확인합니다. (0) | 2023.08.09 |
도커 용기 안에서 스도를 사용하는 방법은? (0) | 2023.08.09 |
숨겨진 요소 내부에 Google 지도를 로드하는 방법 (0) | 2023.08.09 |