/OptionFrame

一款界面良好的弹出框

Primary LanguageJava

OptionFrame

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

Example

 

 

Usage

Gradle

dependencies {

  compile 'com.longsh:OptionFrame:1.0.0'
 
}
//由于内部使用的25的api,所以直接使用可能会跟你的版本的不同,造成导入问题。建议下载源码把gradle修改成你对应的api
//后续有空可能会修改下

仿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.