安卓Android学习手机移动程序开发

Android一款界面良好使用简单的弹出框

2017-03-03  本文已影响2106人  longsh

OptionFrame# Github地址

一款Android弹出框、对话框、Dialog、popuwindow

Example

仿QQ底部弹出GIF.gif 仿QQ底部弹出.png 仿微信中间弹出框.png Material Design风格对话框.png Material Design风格对话框.png

使用

Gradle

dependencies {

  compile 'com.longsh:OptionFrame:1.0.0'
  
}

仿QQ底部弹出窗口

    List<String> stringList = new ArrayList<String>();
    stringList.add("拍照");
    stringList.add("从相册选择");

    final OptionBottomDialog optionBottomDialog = new OptionBottomDialog(MainActivity.this, stringList);
    optionBottomDialog.setItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
         optionBottomDialog.dismiss();
    }
    });
    

仿微信中间弹出框

    final ArrayList<String> list = new ArrayList<>();
    list.add("标为已读");
    list.add("置顶聊天");
    list.add("删除该聊天");
    final OptionCenterDialog optionCenterDialog = new OptionCenterDialog();
    optionCenterDialog.show(MainActivity.this, list);
    optionCenterDialog.setItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            optionCenterDialog.dismiss();
        }
    });

Material Design风格对话框

    final OptionMaterialDialog mMaterialDialog = new OptionMaterialDialog(MainActivity.this);
    mMaterialDialog.setTitle("这是标题")
//                .setTitleTextColor(R.color.colorPrimary)
//                .setTitleTextSize((float) 22.5)
            .setMessage("支持所有布局文字大小颜色等设置。")
//                .setMessageTextColor(R.color.colorPrimary)
//                .setMessageTextSize((float) 16.5)
//                .setPositiveButtonTextColor(R.color.colorAccent)
//                .setNegativeButtonTextColor(R.color.colorPrimary)
//                .setPositiveButtonTextSize(15)
//                .setNegativeButtonTextSize(15)
            .setPositiveButton("确定", new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mMaterialDialog.dismiss();
                }
            })
            .setNegativeButton("取消",
                    new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            mMaterialDialog.dismiss();
                        }
                    })
            .setCanceledOnTouchOutside(true)
            .setOnDismissListener(
                    new DialogInterface.OnDismissListener() {
                        @Override
                        public void onDismiss(DialogInterface dialog) {
                        //对话框消失后回调
                        }
                    })
            .show();

Version: 1.0.0

有其他弹出窗的需求可以给我提Issues

License


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.

OptionFrame

上一篇下一篇

猜你喜欢

热点阅读