728x90
반응형
1) 토스트(toast) 메시지 구현하기
Toast.makeText(MainActivity.this,"toast message입니다.",Toast.LENGTH_LONG).show();
2) 스낵바(snackbar) 구현하기
스낵바를 구현하기전 app(module수준)에다가 아래의 코드를 추가해줍니다.
implementation 'com.android.support:design:28.0.0'
다음은 스낵바 코드입니다.
Snackbar.make(mainlayout, "Snackbar 메시지입니다.", Snackbar.LENGTH_LONG).show();
- mainlayout은 activity_main.xml 에서 LinearLayout에 아이디를 부여하고 class에서 연결시킨 것이다.
- 2번째 "" 란에 자신이 띄우고싶은 메세지를 적으면 된다.
2-1) 버튼있는 스낵바 구현하기
final Snackbar snackbar = Snackbar.make(mainlayout, "Snackbar 메시지입니다.\n확인 누르면 사라집니다.", Snackbar.LENGTH_INDEFINITE); snackbar.setAction("확인", new View.OnClickListener() { @Override public void onClick(View v) { snackbar.dismiss(); } }); snackbar.show();
- 기존 스낵바 코드에 setAction이 추가되어 확인버튼을 누르면 스낵바를 없애도록 구현하였다.
3) 프로그래스바(progressbar) 구현하기
progressBar.setVisibility(View.VISIBLE); progressBar.setIndeterminate(true); progressBar.getIndeterminateDrawable().setColorFilter(Color.parseColor("#39aae1"), PorterDuff.Mode.MULTIPLY);
- 프로그래스바를 보이게 한뒤 색을 변경시켜주었다.
3-1) 프로그래스바 없애기
progressBar.setVisibility(View.INVISIBLE);
- 프로그래스바 visible속성을 INVISIBLE로 바꾸면 된다.
* 다음은 xml 전체 소스이다.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:id="@+id/activity_main" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Massage Activity" android:textSize="30dp" android:textStyle="bold" android:textColor="#2196F3" android:layout_gravity="center"/> <Button android:id="@+id/toast" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TOAST Message" android:layout_marginTop="20dp"/> <Button android:id="@+id/snack" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="SNACKBAR Message" android:layout_marginTop="10dp"/> <Button android:id="@+id/snackconfirm" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="SNACKBAR Confirm Message" android:layout_marginTop="10dp"/> <Button android:id="@+id/progressbtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="PROGRESS BAR" android:layout_marginTop="10dp"/> <Button android:id="@+id/progressstop" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="PROGRESS BAR STOP" android:layout_marginTop="10dp"/> <ProgressBar android:id="@+id/progress" style="?android:attr/progressBarStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:visibility="invisible" android:layout_marginTop="100dp" /> </LinearLayout>
* 다음은 main.class 전체 소스이다.
public class MainActivity extends AppCompatActivity { LinearLayout mainlayout; ProgressBar progressBar; Button toast, snack, snackconfirm, progress, progressstop; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mainlayout = (LinearLayout) findViewById(R.id.activity_main); progressBar = (ProgressBar) findViewById(R.id.progress); toast = (Button) findViewById(R.id.toast); snack = (Button) findViewById(R.id.snack); snackconfirm = (Button) findViewById(R.id.snackconfirm); progress = (Button) findViewById(R.id.progressbtn); progressstop = (Button) findViewById(R.id.progressstop); toast.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "toast message입니다.", Toast.LENGTH_LONG).show(); } }); snack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Snackbar.make(mainlayout, "Snackbar 메시지입니다.", Snackbar.LENGTH_LONG).show(); } }); snackconfirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final Snackbar snackbar = Snackbar.make(mainlayout, "Snackbar 메시지입니다.\n확인 누르면 사라집니다.", Snackbar.LENGTH_INDEFINITE); snackbar.setAction("확인", new View.OnClickListener() { @Override public void onClick(View v) { snackbar.dismiss(); } }); snackbar.show(); } }); progress.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { progressBar.setVisibility(View.VISIBLE); progressBar.setIndeterminate(true); progressBar.getIndeterminateDrawable().setColorFilter(Color.parseColor("#39aae1"), PorterDuff.Mode.MULTIPLY); } }); progressstop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { progressBar.setVisibility(View.INVISIBLE); } }); } }
* 다음은 실행시킨 동영상이다.
728x90
반응형
'android' 카테고리의 다른 글
[j android] 페이지 슬라이딩(page sliding) 구현하기 (0) | 2019.10.21 |
---|---|
[j android] WebView 추가하기 (0) | 2019.10.21 |
[j android] activity, fragment 간 데이터 전송 (0) | 2019.08.26 |
[j android] 버튼 누르면 fragment 나타내기 (0) | 2019.08.23 |
[j android] fragment Activity에 나타내기(호출) (0) | 2019.08.22 |