There are two methods: 1) programmatically 2) Using xml layout
1)=======> AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setView(layout); builder.setTitle("Title"); alertDialog = builder.create(); alertDialog.show(); alertDialog.getWindow().setLayout(600, 400); //Controlling width and height. ( or ) alertDialog.show(); WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); lp.copyFrom(alertDialog.getWindow().getAttributes()); lp.width = 150; lp.height = 500; lp.x=-170; lp.y=100; alertDialog.getWindow().setAttributes(lp);
If you want to show a layout that will display as an Alert dialog , see this
2)========>
choose.xml
<TextView android:id="@+id/img" android:layout_width="wrap_content" android:text="@string/choose" android:textSize="25dp" android:textColor="#fff" android:layout_height="50dp"/> <TableLayout android:id="@+id/table" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#fff" android:orientation="vertical"> <TableRow android:id="@+id/tr1" android:orientation="horizontal" android:layout_margin="10dp"> <ImageView android:contentDescription="@string/phone" android:src="@drawable/phone" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/phnText" android:layout_width="wrap_content" android:text="@string/phone" android:gravity="left|center_vertical" android:layout_marginLeft="10dp" android:textSize="25dp" android:textColor="#000" android:layout_height="50dp"/> </TableRow> <View android:layout_width="fill_parent" android:layout_height="1dip" android:background="#FF000000" /> <TableRow android:id="@+id/tr2" android:orientation="horizontal" android:layout_margin="10dp"> <ImageView android:contentDescription="@string/sms" android:src="@drawable/sms" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/smsText" android:layout_width="wrap_content" android:text="@string/sms" android:gravity="left|center_vertical" android:layout_marginLeft="10dp" android:textSize="25dp" android:textColor="#000" android:layout_height="50dp"/> </TableRow> </TableLayout> </LinearLayout>
display this as a popup as below
private void showPopUp() { final AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this); helpBuilder.setTitle(""); LayoutInflater inflater = getLayoutInflater(); final View checkboxLayout = inflater.inflate(R.layout.choose, null); helpBuilder.setView(checkboxLayout); final AlertDialog helpDialog = helpBuilder.create(); helpDialog.show(); TableRow tablerowPhone = (TableRow)checkboxLayout.findViewById(R.id.tr1); TableRow tablerowSms = (TableRow)checkboxLayout.findViewById(R.id.tr2); tablerowPhone.setOnClickListener(new OnClickListener() { public void onClick(View v) { helpDialog.dismiss(); Uri callUri = Uri.parse("tel:" + listview_array[4]); Intent intent = new Intent(Intent.ACTION_CALL, callUri); startActivity(intent); } }); tablerowSms.setOnClickListener(new OnClickListener() { public void onClick(View v) { helpDialog.dismiss(); Uri smsUri = Uri.parse("sms:" + listview_array[4]); Intent intent = new Intent(Intent.ACTION_VIEW, smsUri); startActivity(intent); } }); }
call this showPopUp() method showPopUp() you want. so that you can set the height and width to the layout in the xml file
Ram kiran
source share