FlycoDialog_Master写得很好,必须支持!
一个多样式很有用的对话框,小部件和动画定制。易于使用,易于定制。支持Android 2.2及以上。
A powerful android dialog library with inner widgets and animations supports customization.Easy to use, easy to customise. Support for Android 2.2 and up.
eclipse开发者要导入以下三个包(版本对于就ok,版本号无所谓)
FlycoAnimation_Lib-v1.0.0.jar
FlycoDialog_Lib-v1.0.0.jar
nineoldandroids-2.4.0.jar
所需的三个jar包下载地址
public class MainActivity extends Activity {
private Context context = this;
private Button btn;
private Button btn1;
private String[] stringItems = {"是", "否"};
// private ArrayList<DialogMenuItem> testItems = new ArrayList<DialogMenuItem>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn1 = (Button) findViewById(R.id.btn1);
// testItems.add(new DialogMenuItem("收藏", R.mipmap.ic_winstyle_favor));
// testItems.add(new DialogMenuItem("下载", R.mipmap.ic_winstyle_download));
final BaseAnimatorSet bas_in = new FlipVerticalSwingEnter();
final BaseAnimatorSet bas_out = new FadeExit();
final NormalDialog dialog = new NormalDialog(this);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
dialog.content("是否退出程序?")
.btnText("取消", "确定")
.cornerRadius(5)
.showAnim(bas_in)//弹出形式动画
.dismissAnim(bas_out)
.show();
dialog.setOnBtnLeftClickL(new OnBtnLeftClickL() {
@Override
public void onBtnLeftClick() {
// TODO 自动生成的方法存根
T.showShort(MainActivity.this, "Left");
dialog.dismiss();
}
});
dialog.setOnBtnRightClickL(new OnBtnRightClickL() {
@Override
public void onBtnRightClick() {
T.showShort(MainActivity.this, "Right");
Intent intent = new Intent(MainActivity.this,DialogHomeActivity.class);
startActivity(intent);
dialog.dismiss();
}
});
}
});
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO 自动生成的方法存根
NormalListDialogCustomAttr();
}
});
}
private void NormalListDialogCustomAttr() {
final NormalListDialog dialog = new NormalListDialog(context, stringItems);
dialog.title("请选择")//
.titleTextSize_SP(18)//
.titleBgColor(Color.parseColor("#409ED7"))//
.itemPressColor(Color.parseColor("#85D3EF"))//
.itemTextColor(Color.parseColor("#303030"))//
.itemTextSize(14)//
.cornerRadius(5)//
.widthScale(0.8f)//
.show(R.style.myDialogAnim);
dialog.setOnOperItemClickL(new OnOperItemClickL() {
@Override
public void onOperItemClick(AdapterView<?> parent, View view, int position, long id) {
T.showShort(context, stringItems[position].toString());
dialog.dismiss();
}
});
}
}
在R/values/styles下添加:
<style name="myDialogAnim" parent="android:Animation">
<!-- 进入时的动画 -->
<item name="@android:windowEnterAnimation">@anim/dialog_enter</item>
<!-- 退出时的动画 -->
<item name="@android:windowExitAnimation">@anim/dialog_exit</item>
</style>