반응형
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 (글꼴, 폰트) 적용하기
2022.08.26 - [IT/Android] - Android TimePicker Dialog 커스텀 해서 만들기 (색상, 버튼)
2022.08.10 - [IT/Android] - Android MPAndroidChart 막대 그래프 적용하기
반응형
'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 |
댓글