2016년 9월 15일 목요일
안드로이드 AlertDialog user defined ui _ 사용자가 정의한 UI를 다이알로그로 띄워줘요
안드로이드 AlertDialog user defined ui _ 사용자가 정의한 UI를 다이알로그로 띄워줘요
정해진 포맷의 AlertDialog가 있는데, 이외에 사용자가 정한 UI를 띄우고자 하실 경우에 다음의 소스를 활용하세요~
xml )
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="350dp"
android:padding="3dp" >
<TextView android:id="@+id/tvPopTitle"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:layout_marginLeft="5dp"
android:layout_marginBottom="5dp"
android:text=""
android:textSize="15dp"
android:layout_gravity="left|center_vertical"
android:gravity="left|center_vertical" />
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="330dp"
android:background="#ffffff" >
<ScrollView
android:id="@+id/svPop"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity = "top" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="3px"/>
<LinearLayout
android:id="@+id/llPopListBody"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/><!-- 여기에 목록들을 추가해준다.(addView 이용) -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="97dp"/>
</LinearLayout>
</ScrollView>
</LinearLayout>
</LinearLayout>
자바 소스)
View viewAlert = actMain.getLayoutInflater().inflate(R.layout.pop_gugun_select, null);
TextView tvPopTitle = (TextView) viewAlert.findViewById(R.id.tvPopTitle);
tvPopTitle.setTextColor(Color.WHITE);
tvPopTitle.setText("구군 선택");
AlertDialog alert = alt.create();
Display display = ((WindowManager)actMain.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int iWidth = display.getWidth();
int iHeight= display.getHeight();
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(alert.getWindow().getAttributes());
lp.width = iWidth*90/100;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
alert.show();
Window window = alert.getWindow();
window.setAttributes(lp);
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
핵심 부분 )
*) R.layout.pop_gugun_select : pop_gubun_select.xml로 UI 구성
*) WindowManager , setAttributes를 통하여 팝업의 넓이와 높이 사이즈를 조절
-----
이미지로 보기)
즐거운 시간 보내세요~
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기