您的位置:首页 > 移动开发 > IOS开发

我的工具真是太少了--IOS弹出提示框

2015-10-21 15:54 531 查看


1.为什么做这个弹出框?

a.Android自带的弹出框确实太丑了,而且版本不同弹出的效果还不一样!

b.纯粹的new一个AlertDialog要写很多行,代码维护不便,重复劳动啊!

c.代码看起多,不简洁,肯定不爽!

2.如何做一个简洁的弹出框用于提示!

a.建立一个class继承Dialog

public class IOSDialog extends Dialog {

public IOSDialog(Context context) {

super(context,R.style.ThemeIOSDialog);

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.iso_dialog);

Button btnOk = (Button) findViewById(R.id.btn_ok);

btnOk.setOnClickListener(new android.view.View.OnClickListener() {

@Override

public void onClick(View v) {

cancel();

}

});

}

}

b.在res/values/styles里面写入样式,便于设置dialog的背景为透明

<!-- IOSDialog -->

<style name="ThemeIOSDialog" parent="@android:style/Theme.Dialog">

<!-- Dialog的windowFrame框为无 -->

<!-- <item name="android:windowFrame">@null</item> -->

<!-- 边框 -->

<item name="android:windowIsFloating">true</item>

<!-- 是否浮现在activity之上 -->

<item name="android:windowIsTranslucent">false</item>

<!-- 半透明 -->

<item name="android:windowNoTitle">true</item>

<!-- 设置dialog的背景 -->

<item name="android:windowBackground">@android:color/transparent</item>

<!-- 背景是否模糊显示 -->

<item name="android:backgroundDimEnabled">true</item>

<!-- 模糊 -->

<item name="android:textColorPrimaryInverse">@android:color/black</item>

</style>

c.最后在写入布局文件,应用于dialog

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/ios_dlg_bg"

android:layout_marginBottom="16dp"

>

<View

android:id="@+id/view_line"

android:layout_below="@+id/text1"

android:layout_height="0.5dp"

android:layout_width="fill_parent"

android:background="#dcdcdc"

/>

<Button

android:gravity="center"

android:textSize="18sp"

android:textStyle="bold"

android:layout_below="@+id/view_line"

android:text="确定"

android:textColor="#037BFF"

android:id="@+id/btn_ok"

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:background="@android:color/transparent"

android:padding="12dp"

/>

<TextView

android:gravity="center"

android:id="@+id/text1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:padding="16dp"

android:text="你的运气真是太好了!"

android:textColor="#666666"

android:textSize="14sp" />

</RelativeLayout>

d.最后,在Activity里面需要的地方调用就可以啦

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main_activity);

Button btnIOSDialog = (Button) findViewById(R.id.button1);

btnIOSDialog.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

new IOSDialog(MainActivity.this).show();

}

});

}

}

***无真相:http://download.csdn.net/detail/xiaoshubing/9200489
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: