首页

安卓两种底部弹出窗dialog实现方式

java

2020-6-20

安卓两种底部弹出窗dialog实现方式,一种是列表弹窗实现,2是灵活底部弹窗,传入布局以及控件id

package com.kx.kxbottomdialog;

import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Context mContext;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        init();
    }

    private void init() {
        mContext = this;
        findViewById(R.id.bt1).setOnClickListener(this);
        findViewById(R.id.bt2).setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.bt1:
                bt1ListView();
                break;
            case R.id.bt2://退出登录
                Bt2Loginout();
                break;
        }
    }

    /**
     * 底部列表弹窗
     */
    private void bt1ListView() {
        List<String> names = new ArrayList<>();
        names.add("随堂测验");
        names.add("单元考试");
        names.add("期中(末)考试");
        showDialog(new BottomCirTraDialog.SelectDialogListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                switch (position) {
                    case 0: //随堂测验
                        showToast("随堂测验");
                        break;
                    case 1://单元考试
                        showToast("单元考试");
                        break;
                    case 2://期中(末)考试
                        showToast("期中(末)考试");
                        break;
                    default:
                        break;
                }

            }
        }, names);
    }

    private BottomCirTraDialog showDialog(BottomCirTraDialog.SelectDialogListener listener, List<String> names) {
        BottomCirTraDialog dialog = new BottomCirTraDialog(this, R.style.transparentFrameWindowStyle, listener, names);
        if (!this.isFinishing()) {
            dialog.show();
        }
        return dialog;
    }

    /**
     * 退出登录
     */
    private void Bt2Loginout() {
        BottomDialog dialog = new BottomDialog(mContext, R.layout.dialog_login_out,
                new int[]{R.id.tv_choice_out, R.id.tv_cancel});
        dialog.show();
        dialog.setOnBottomItemClickListener(new BottomDialog.OnBottomItemClickListener() {
            @Override
            public void onBottomItemClick(BottomDialog dialog, View view) {
                switch (view.getId()) {
                    case R.id.tv_choice_out:   //退出登录
                        //服务器登出  mCenterPI.logout();
                        dialog.cancel();
                        break;
                    case R.id.tv_cancel:  //取消
                        dialog.cancel();
                        break;
                }
            }
        });
    }


    /**
     * Toast
     *
     * @param s
     */
    public void showToast(String s) {
        ToastUtil.toast(this, s);
    }
}

资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
KxBottomDialog/.gitignore , 127
KxBottomDialog/.gradle/4.1/fileChanges/last-build.bin , 1
KxBottomDialog/.gradle/4.1/fileContent/fileContent.lock , 17
KxBottomDialog/.gradle/4.1/fileHashes/fileHashes.bin , 174442
KxBottomDialog/.gradle/4.1/fileHashes/fileHashes.lock , 17
KxBottomDialog/.gradle/4.1/fileHashes/resourceHashesCache.bin , 19959
KxBottomDialog/.gradle/4.1/javaCompile/classAnalysis.bin , 801409
KxBottomDialog/.gradle/4.1/javaCompile/jarAnalysis.bin , 325810
KxBottomDialog/.gradle/4.1/javaCompile/javaCompile.lock , 17
KxBottomDialog/.gradle/4.1/javaCompile/taskHistory.bin , 150188
KxBottomDialog/.gradle/4.1/javaCompile/taskJars.bin , 20810
KxBottomDialog/.gradle/4.1/taskHistory/fileSnapshots.bin , 1539499
KxBottomDialog/.gradle/4.1/taskHistory/taskHistory.bin , 52536
KxBottomDialog/.gradle/4.1/taskHistory/taskHistory.lock , 17
KxBottomDialog/.gradle/buildOutputCleanup/built.bin , 0
KxBottomDialog/.gradle/buildOutputCleanup/cache.properties , 51
KxBottomDialog/.gradle/buildOutputCleanup/cache.properties.lock , 2
KxBottomDialog/.idea/encodings.xml , 200
KxBottomDialog/.idea/gradle.xml , 626
KxBottomDialog/.idea/libraries/android_arch_core_common_1_0_0_jar.xml , 531
KxBottomDialog/.idea/libraries/android_arch_lifecycle_common_1_0_0_jar.xml , 546
KxBottomDialog/.idea/libraries/android_arch_lifecycle_runtime_1_0_0.xml , 655
KxBottomDialog/.idea/libraries/com_android_support_animated_vector_drawable_26_1_0.xml , 739
KxBottomDialog/.idea/libraries/com_android_support_appcompat_v7_26_1_0.xml , 679
KxBottomDialog/.idea/libraries/com_android_support_constraint_constraint_layout_1_1_3.xml , 499
KxBottomDialog/.idea/libraries/com_android_support_constraint_constraint_layout_solver_1_1_3_jar.xml , 424
KxBottomDialog/.idea/libraries/com_android_support_support_annotations_26_1_0_jar.xml , 606
KxBottomDialog/.idea/libraries/com_android_support_support_annotations_27_1_1_jar.xml , 607
KxBottomDialog/.idea/libraries/com_android_support_support_compat_26_1_0.xml , 689
KxBottomDialog/.idea/libraries/com_android_support_support_core_ui_26_1_0.xml , 694
KxBottomDialog/.idea/libraries/com_android_support_support_core_utils_26_1_0.xml , 709
KxBottomDialog/.idea/libraries/com_android_support_support_fragment_26_1_0.xml , 699
KxBottomDialog/.idea/libraries/com_android_support_support_media_compat_26_1_0.xml , 719
KxBottomDialog/.idea/libraries/com_android_support_support_v4_26_1_0.xml , 669
KxBottomDialog/.idea/libraries/com_android_support_support_vector_drawable_26_1_0.xml , 734
KxBottomDialog/.idea/libraries/com_android_support_test_espresso_espresso_core_3_0_2.xml , 707
KxBottomDialog/.idea/libraries/com_android_support_test_espresso_espresso_idling_resource_3_0_2.xml , 762
KxBottomDialog/.idea/libraries/com_android_support_test_monitor_1_0_2.xml , 659
KxBottomDialog/.idea/libraries/com_android_support_test_runner_1_0_2.xml , 654
KxBottomDialog/.idea/libraries/com_google_code_findbugs_jsr305_2_0_1_jar.xml , 358
KxBottomDialog/.idea/libraries/com_squareup_javawriter_2_1_1_jar.xml , 536
KxBottomDialog/.idea/libraries/javax_inject_javax_inject_1_jar.xml , 526
KxBottomDialog/.idea/libraries/junit_junit_4_12_jar.xml , 485
KxBottomDialog/.idea/libraries/net_sf_kxml_kxml2_2_3_0_jar.xml , 285
KxBottomDialog/.idea/libraries/org_hamcrest_hamcrest_core_1_3_jar.xml , 541
KxBottomDialog/.idea/libraries/org_hamcrest_hamcrest_integration_1_3_jar.xml , 576
KxBottomDialog/.idea/libraries/org_hamcrest_hamcrest_library_1_3_jar.xml , 555
KxBottomDialog/.idea/misc.xml , 2044
KxBottomDialog/.idea/modules.xml , 365
KxBottomDialog/.idea/runConfigurations.xml , 564
KxBottomDialog/.idea/workspace.xml , 171372
KxBottomDialog/KxBottomDialog.iml , 868
KxBottomDialog/app/.gitignore , 8
KxBottomDialog/app/app.iml , 11711
KxBottomDialog/app/build.gradle , 954
KxBottomDialog/app/proguard-rules.pro , 772
KxBottomDialog/app/src/androidTest/java/com/kx/kxbottomdialog/ExampleInstrumentedTest.java , 769
KxBottomDialog/app/src/main/AndroidManifest.xml , 739
KxBottomDialog/app/src/main/java/com/kx/kxbottomdialog/BottomCirTraDialog.java , 6173
KxBottomDialog/app/src/main/java/com/kx/kxbottomdialog/BottomDialog.java , 2932
KxBottomDialog/app/src/main/java/com/kx/kxbottomdialog/MainActivity.java , 3375
KxBottomDialog/app/src/main/java/com/kx/kxbottomdialog/ToastUtil.java , 612
KxBottomDialog/app/src/main/res/anim/dialog_bottom_enter.xml , 247
KxBottomDialog/app/src/main/res/anim/dialog_bottom_exit.xml , 245
KxBottomDialog/app/src/main/res/anim/photo_dialog_in_anim.xml , 285
KxBottomDialog/app/src/main/res/anim/photo_dialog_out_anim.xml , 285
KxBottomDialog/app/src/main/res/drawable/dialog_item_bg_only.xml , 657
KxBottomDialog/app/src/main/res/drawable/ic_launcher_background.xml , 5748
KxBottomDialog/app/src/main/res/drawable/photo_choose_bg.xml , 320
KxBottomDialog/app/src/main/res/drawable/select_dialog_item_bg_buttom.xml , 641
KxBottomDialog/app/src/main/res/drawable/select_dialog_item_bg_center.xml , 329
KxBottomDialog/app/src/main/res/drawable/select_dialog_item_bg_top.xml , 617
KxBottomDialog/app/src/main/res/drawable-v24/ic_launcher_foreground.xml , 1931
KxBottomDialog/app/src/main/res/layout/activity_main.xml , 1044
KxBottomDialog/app/src/main/res/layout/dialog_exam_type.xml , 1182
KxBottomDialog/app/src/main/res/layout/dialog_login_out.xml , 1533
KxBottomDialog/app/src/main/res/layout/view_dialog_item.xml , 496
KxBottomDialog/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml , 274
KxBottomDialog/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml , 274
KxBottomDialog/app/src/main/res/mipmap-hdpi/ic_launcher.png , 3056
KxBottomDialog/app/src/main/res/mipmap-hdpi/ic_launcher_round.png , 5024
KxBottomDialog/app/src/main/res/mipmap-mdpi/ic_launcher.png , 2096
KxBottomDialog/app/src/main/res/mipmap-mdpi/ic_launcher_round.png , 2858
KxBottomDialog/app/src/main/res/mipmap-xhdpi/ic_launcher.png , 4569
KxBottomDialog/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png , 7098
KxBottomDialog/app/src/main/res/mipmap-xxhdpi/ic_launcher.png , 6464
KxBottomDialog/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png , 10676
KxBottomDialog/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png , 9250
KxBottomDialog/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png , 15523
KxBottomDialog/app/src/main/res/values/colors.xml , 348
KxBottomDialog/app/src/main/res/values/strings.xml , 80
KxBottomDialog/app/src/main/res/values/styles.xml , 1760
KxBottomDialog/app/src/test/java/com/kx/kxbottomdialog/ExampleUnitTest.java , 415
KxBottomDialog/build.gradle , 573
KxBottomDialog/gradle/wrapper/gradle-wrapper.jar , 53636
KxBottomDialog/gradle/wrapper/gradle-wrapper.properties , 236
KxBottomDialog/gradle.properties , 747
KxBottomDialog/gradlew , 4971
KxBottomDialog/gradlew.bat , 2404
KxBottomDialog/local.properties , 460
KxBottomDialog/settings.gradle , 16
没有账号? 忘记密码?

社交账号快速登录