Activity에 큰 애니메이션 효과를 줘야 하는 기능이 필요해서 투명 Activity를 만들어서 적용하는 방법으로 구현했습니다.
투명 배경을 만드는 절차를 따라해보세요.
투명 Activity 만들기
- Transparent_Activity.java
public class Transparent_Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_transparent);
TextView tv = (TextView) findViewById(R.id.congrats_activity);
tv.setText("abc");
}
}
투명 배경으로 사용할 기본 Activity를 만들어 줍니다. 투명 효과를 확인하기 위해 TextView에 String을 세팅하였습니다.
- activity_transparent.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_main2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">
<TextView
android:id="@+id/congrats_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="17dp" />
</RelativeLayout>
layout xml을 작성해 줍니다. 여기서 중요한 부분은 android:background="@android:color/transparent"로 설정하여 배경 색을 투명으로 지정하는 내용입니다.
사용할 transparent의 내용을 styles에 작성합니다.
- styles.xml
<style name="Transparent" parent="@style/Theme.MyApplication">
<item name="windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
투명도를 만들 때 중요 내용이니 아래 내용을 참고하세요.
- backgroundDimEnabled - true : 반투명, false : 완전 투명
이제 transparent 컬러를 설정해 줍시다.
- colors.xml
<color name="transparent">#00000000</color>
<!--
컬러의 앞 2문자로 투명도 설정이 가능하다.
구현하고 싶은 투명도로 설정하도록 하자.
100% — FF
90% — E6
80% — CC
70% — B3
60% — 99
50% — 80
40% — 66
30% — 4D
20% — 33
10% — 1A
0% — 00
-->
AndroidManifest.xml 파일에서 사용하는 Activity에 styles를 적용해 줍시다.
- AndroidManifest.xml
<activity
android:name=".Transparent_Activity"
android:theme="@style/Transparent"
android:exported="true" />
투명 Activity 호출 방법
해당 내용들로 투명 Activity 설정은 모두 끝났습니다.
Activity 1에서 Activity 2(투명 Activity)를 호출 시 투명 배경이 적용된 걸 확인할 수 있습니다.
Activity1.java
Intent intent = new Intent(getContext(), Transparent_Activity.class);
startActivity(intent);
관련자료
2022.08.05 - [IT/Android] - Android 앱에 Font (글꼴, 폰트) 적용하기
Android 앱에 Font (글꼴, 폰트) 적용하기
앱을 취미 삼아 여러 개 만들어 보았는데 먼가 알 수 없는 밋밋한 느낌이 들었습니다. 생각하니 같은 템플릿으로 약간의 기능만 변경하여 만들다 보니 큰 틀이 변하지 않았습니다. 아직 개발 미
soir1984.tistory.com
2022.08.26 - [IT/Android] - Android TimePicker Dialog 커스텀 해서 만들기 (색상, 버튼)
Android TimePicker Dialog 커스텀 해서 만들기 (색상, 버튼)
앱 개발 중 시간을 선택해야 하는 기능이 필요해서 Android SDK인 TimePickerDialog를 사용해 보았습니다. TimePickerDialog의 각 컨포넌트들의 색상과 폰트 등을 커스텀 하고 싶어서 이리저리 구글링을 했는
soir1984.tistory.com
2022.08.10 - [IT/Android] - Android MPAndroidChart 막대 그래프 적용하기
Android MPAndroidChart 막대 그래프 적용하기
통계 화면(막대그래프)을 만들기 위해 차트 라이브러리로 유명한 MPAndroidChart를 사용해 보았습니다. Google에 많은 정보가 있어서 적용하기는 나름 쉬웠습니다. 그럼 MPAndroidChart를 활용한 기본 막
soir1984.tistory.com
'IT > Android' 카테고리의 다른 글
Android 좌우 드래그(drag)해서 화면 전환 기능 만들기 (0) | 2022.09.08 |
---|---|
Android Fragment 전환 애니메이션 효과 적용하기 (0) | 2022.09.04 |
Android TimePicker Dialog 커스텀 해서 만들기 (색상, 버튼) (0) | 2022.08.26 |
Android MPAndroidChart 막대 그래프 적용하기 (1) | 2022.08.10 |
Android 앱에 Font (글꼴, 폰트) 적용하기 (0) | 2022.08.05 |
댓글