본문 바로가기
IT/Android

Android 투명 Activity (Layout) 배경 만드는 방법.

by TechTonic 2022. 8. 31.
반응형

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

 

반응형

댓글