투명으로 버튼 배경
버튼이 있습니다. 버튼을 누를 때 텍스트를 굵게 표시해야합니다. 그래서 나는 대담하고 정상적인 스타일을 썼습니다.
<style name="textbold" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">bold</item>
</style>
<style name="textregular" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">normal</item>
</style>
이제 button_states.xml이 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true"
style="@style/textbold" />
<item android:state_focused="false" android:state_pressed="true"
style="@style/textregular" />
<item style="@style/textregular" />
</selector>
이 버튼의 레이아웃에서 배경도 투명하게 만들어야합니다 ... 어떻게합니까? 내 레이아웃 코드는 다음과 같습니다
<Button android:id="@+id/Btn" android:background="@drawable/button_states" />
스타일에 배경을 투명하게 포함 시키려면 어떻게해야합니까?
배경을 투명하게 만들려면을 수행하십시오 android:background="@android:color/transparent"
.
그러나 셀렉터를 정말 이상한 방식으로 사용하므로 문제가 조금 더 심해 보입니다. 실제로 사용하는 경우 배경 이미지를 스타일로 배치해야하지만 사용 방법이 잘못 된 것 같습니다 <item/>
.
Android 소스에서 스타일이 어떻게 사용되는지 자세히 살펴보십시오. 버튼을 클릭해도 텍스트 스타일이 변경되지는 않지만 목표를 달성하는 방법에 대한 좋은 아이디어가 많이 있습니다.
배경을 투명하게 설정하는 새로운 방법을 시도하십시오
android:background="?android:attr/selectableItemBackground"
사용하십시오 #0000
(그렇지 않으면 네 개의 0만으로 간주됩니다 black
) 이것은 투명한 색상 코드입니다. 직접 사용할 수는 있지만 color.xml에서 색상을 정의하여 코드를 재사용 할 수 있도록하는 것이 좋습니다.
이것을 Xml에 추가하십시오 -android:background="@android:color/transparent"
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Button"
android:background="@android:color/transparent"
android:textStyle="bold"/>
xml에서 다음을 사용할 수도 있습니다.
android:background="@null"
또는 코드 :
buttonVariable.setBackgroundColor(Color.TRANSPARENT);
나는 이것을 XML로 달성했다.
android:background="@android:color/transparent"
나는 사용했다
btn.setBackgroundColor(Color.TRANSPARENT);
과
android:background="@android:color/transparent"
선택기는 스타일이 아닌 드로어 블에만 작동합니다. 참고
First, to make the button background transparent use the following attribute as this will not affect the material design animations:
style="?attr/buttonBarButtonStyle"
There are many ways to style your button. Check out this tutorial.
Second, to make the text bold on pressed, use this java code:
btn.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
// When the user clicks the Button
case MotionEvent.ACTION_DOWN:
btn.setTypeface(Typeface.DEFAULT_BOLD);
break;
// When the user releases the Button
case MotionEvent.ACTION_UP:
btn.setTypeface(Typeface.DEFAULT);
break;
}
return false;
}
});
You can achieve that by setting the colors alpha channel.
The color scheme is like this #AARRGGBB there A stands for alpha channel(transparency), R stands for red, G for green and B for blue.
Step 1: Create a new resource file in drawable and copy paste
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:color="#fff" android:width="2dp"/>
<corners android:radius="25dp"/>
<padding android:right="15dp" android:top="15dp" android:bottom="15dp" android:left="15dp"/>
</shape>
save it as ButtonUI(let's say)
Step 2: Apply the UI to the button xml
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="join the crew"
android:background="@drawable/ButtonUI"
android:textColor="#fff"/>
You apply the background color as transparent(light gray)
when you click the button.
ButtonName.setOnClickListener()
In the above method you set the background color of the button.
Code:
button.setVisibility(View.INVISIBLE);
Xml:
android:background="@android:color/transparent"
You can do it easily by adding below attribute in xml file. This code was tested plenty of time.
android:background="@android:color/transparent"
참고URL : https://stackoverflow.com/questions/4954102/button-background-as-transparent
'Programing' 카테고리의 다른 글
adb가 내 장치 / 전화를 찾지 못했습니다 (MacOS X) (0) | 2020.05.31 |
---|---|
GDB에서 현재 어셈블리 명령어 표시 (0) | 2020.05.31 |
OS X에서 파일 인코딩을 어떻게 확인합니까? (0) | 2020.05.31 |
안드로이드 페이스 북 키 해시를 만드는 방법? (0) | 2020.05.31 |
# 1273-알 수없는 데이터 정렬 : 'utf8mb4_unicode_ci'cPanel (0) | 2020.05.31 |