0
사용자 정의 alertdialog
은 250dp x 300dp입니다. 렌더링 될 때 기본적으로 크기는 match_parent
이됩니다. 내 이해에서 이것은 null
을 LayoutInflater.inflate()
으로 전달하면 발생하지만 fragment
(asynctask
의 onPostExecute()
)에서이 사용자 정의 대화 상자를 생성하고 있는데, adapter
이 아니므로 참조를 얻는 방법을 잘 모르겠습니다. 부모 viewgroup
.사용자 정의 AlertDialog 크기가 무시됩니다
layout.xml :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="300dp" android:layout_height="250dp"
android:background="@drawable/ad_dialog_background">
<Button
android:layout_width="200dp"
android:layout_height="30dp"
android:text="dismiss"
android:id="@+id/dismissButton_ad"
android:background="@drawable/border"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp"
android:textColor="#484848" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/dialogTitle_ad"
android:textSize="20dp"
android:textColor="#000000"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:text="Quote Request Successful" />
<TextView
android:layout_width="180dp"
android:layout_height="148dp"
android:text="Company XYZ:\n\nhas a special on X items from thus and thus a date to thus and thus a date"
android:id="@+id/text_ad"
android:textColor="#000000"
android:layout_below="@+id/dialogTitle_ad"
android:layout_toLeftOf="@+id/actionButtonOne_ad"
android:layout_toStartOf="@+id/actionButtonOne_ad"
android:layout_marginTop="10dp" />
<Button
android:layout_width="90dp"
android:layout_height="30dp"
android:id="@+id/actionButtonOne_ad"
android:background="@drawable/round_corners_list"
android:textColor="#f7f7f7"
android:layout_above="@+id/actionButtonTwo_ad"
android:layout_alignLeft="@+id/actionButtonTwo_ad"
android:layout_alignStart="@+id/actionButtonTwo_ad"
android:layout_marginBottom="10dp"
android:layout_marginRight="3dp"
android:textSize="11dp"
android:text="dssd" />
<Button
android:layout_width="90dp"
android:layout_height="30dp"
android:id="@+id/actionButtonTwo_ad"
android:background="@drawable/round_corners_list"
android:textColor="#f7f7f7"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="3dp"
android:textSize="11dp" />
<Button
android:layout_width="90dp"
android:layout_height="30dp"
android:id="@+id/actionButtonThree_ad"
android:background="@drawable/round_corners_list"
android:textColor="#f7f7f7"
android:layout_below="@+id/actionButtonTwo_ad"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="10dp"
android:layout_marginRight="3dp"
android:textSize="11dp" />
fragment.java : 내 오류가 대신 Dialog
의 AlertDialog
를 사용하고 Dialog
에 setContentView(R.layout.myview)
를 호출했다
LayoutInflater inflater = LayoutInflater.from(getActivity());
View view = inflater.inflate(R.layout.ad_dialog, null);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(view);
final AlertDialog dialog = builder.create();
//findViewsById()...
dialog.show();
어디에서 테스트하고 있습니까? 즉 에뮬레이터의 어떤 장치에 있습니까? –
@ShobhitPuri, 장치에 – BiGGZ
이유는 내가 mdpi 또는 ldpi 경우 해상도가 낮을 것이고 당신이 레이아웃을 주어진 크기에 따라 전체 너비 걸릴 수 있기 때문에 어떤 장치 때문입니다. 모델은 무엇입니까? –