两个弹出框布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http:///apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:orientation="vertical" >


<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:background="@drawable/alert"
android:gravity="center_horizontal"
android:orientation="vertical" >


<TextView
android:id="@+id/dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="17dip"
android:text="About to call 323"
android:textColor="#ffffff"
android:textSize="16dip"
android:textStyle="bold" />


<TextView
android:id="@+id/dialog_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dip"
android:gravity="center_horizontal"
android:text="Are you sure you want to proceed?"
android:textColor="#ffffff"
android:textSize="16dip" />


<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:layout_marginTop="10dip"
android:gravity="center_horizontal"
android:orientation="horizontal" >


<Button
android:id="@+id/cancel"
android:layout_width="0dip"
android:layout_height="40dip"
android:layout_gravity="left"
android:layout_marginLeft="10dip"
android:layout_weight="0.5"
android:background="@drawable/custom_button1"
android:text="Cancel"
android:textColor="@color/White"
android:textStyle="bold" />


<Button
android:id="@+id/ok"
android:layout_width="0dip"
android:layout_height="40dip"
android:layout_marginBottom="10dip"
android:layout_marginRight="10dip"
android:layout_weight="0.5"
android:background="@drawable/custom_button"
android:text="OK"
android:textColor="@color/White"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>


</LinearLayout>


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http:///apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:orientation="vertical" >


<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:background="@drawable/alert"
android:gravity="center_horizontal"
android:orientation="vertical" >


<TextView
android:id="@+id/dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dip"
android:text="About to call 323"
android:textColor="#ffffff"
android:textSize="17dip"
android:textStyle="bold" />


<TextView
android:id="@+id/dialog_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dip"
android:gravity="center_horizontal"
android:text="Are you sure you want to proceed?"
android:textColor="#ffffff"
android:textSize="15dip" />


<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:layout_marginTop="10dip"
android:gravity="center_horizontal"
android:orientation="horizontal" >


<Button
android:id="@+id/ok"
android:layout_width="fill_parent"
android:layout_height="40dip"
android:layout_marginBottom="10dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:background="@drawable/custom_button"
android:text="OK"
android:textColor="@color/White"
android:textSize="17dip"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>


</LinearLayout>


java 文件:

package hi.braincol.example.iphoneAlert;


/* No CONSTRAINTS ! Just use the code under your thoughts !
* mail me at hibraincol@
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/


import .Activity;
import .Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainScreenActivity extends Activity {
/** Called when the activity is first created. */
Button buttonOk,buttonOkCancel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

buttonOk = (Button)findViewById(.button1);
buttonOk.setOnClickListener(new Button.OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
showCustomMessageOK("Confirmation","Just click OK to continue !");

}
});

buttonOkCancel = (Button)findViewById(.button2);
buttonOkCancel.setOnClickListener(new Button.OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
showCustomMessage("Alert","Are you sure you want continue?");
}
});


}

/**
* it will show the OK/CANCEL dialog like iphone, make sure no keyboard is visible
*
* @param pTitle
* title for dialog
* @param pMsg
* msg for body
*/
private void showCustomMessage(String pTitle, final String pMsg) {
final Dialog lDialog = new Dialog(MainScreenActivity.this,
android.R.style.Theme_Translucent_NoTitleBar);
lDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
lDialog.setContentView(R.layout.r_okcanceldialogview);
((TextView) lDialog.findViewById(.dialog_title)).setText(pTitle);
((TextView) lDialog.findViewById(.dialog_message)).setText(pMsg);
((Button) lDialog.findViewById(.ok)).setText("Ok");
((Button) lDialog.findViewById(.cancel))
.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// write your code to do things after users clicks CANCEL
lDialog.dismiss();
}
});
((Button) lDialog.findViewById(.ok))
.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// write your code to do things after users clicks OK

lDialog.dismiss();
}
});
lDialog.show();

}

/**
* it will show the OK dialog like iphone, make sure no keyboard is visible
*
* @param pTitle
* title for dialog
* @param pMsg
* msg for body
*/
private void showCustomMessageOK(String pTitle, final String pMsg) {
final Dialog lDialog = new Dialog(MainScreenActivity.this,
android.R.style.Theme_Translucent_NoTitleBar);
lDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
lDialog.setContentView(R.layout.r_okdialogview);
((TextView) lDialog.findViewById(.dialog_title)).setText(pTitle);
((TextView) lDialog.findViewById(.dialog_message)).setText(pMsg);
((Button) lDialog.findViewById(.ok)).setText("Ok");
((Button) lDialog.findViewById(.ok))
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// write your code to do things after users clicks OK
lDialog.dismiss();
}
});
lDialog.show();

}


}


运行实例如下:

android-仿iOS弹出框_android

​​源码下载​​

喜欢的朋友关注下!呗