底部弹框

6人阅读 评论(0) 收藏 举报
分类:
private Dialog dialog;

if (dialog == null) {
            dialog = new Dialog(getActivity(), R.style.ActionSheetDialogStyle);
            //填充对话框的布局
            View inflate = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_pick, null);
            RecyclerView mRecyclerView = (RecyclerView) inflate.findViewById(R.id.rv_dialog_pick);
            mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
            TextView tvDelete = (TextView) inflate.findViewById(R.id.tv_pick_tittle);
            tvDelete.setText(R.string.call_record_dlg_delete);
            tvDelete.setTextColor(ArmsUtils.getColor(getActivity(),R.color.text_color_red));
            tvDelete.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    dialog.dismiss();
                    doDelete();
                }
            });


            //将布局设置给Dialog
            dialog.setContentView(inflate);
            //获取当前Activity所在的窗体
            Window dialogWindow = dialog.getWindow();
            //设置Dialog从窗体底部弹出
            dialogWindow.setGravity(Gravity.BOTTOM);
            //获得窗体的属性
            WindowManager.LayoutParams lp = dialogWindow.getAttributes();
            //设置Dialog距离底部的距离
            lp.y = SizeUtils.dp2px(20);
            // 将属性设置给窗体
            dialogWindow.setAttributes(lp);

            inflate.findViewById(R.id.tv_pick_cancel).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    dialog.dismiss();
                }
            });
        }

        dialog.show();//显示对话框

样式:

  <!--选择器样式-->
    <style name="ActionSheetDialogStyle" parent="@android:style/Theme.Dialog">

        <!-- 背景透明 -->
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <!-- 浮于Activity之上 -->
        <item name="android:windowIsFloating">true</item>
        <!-- 边框 -->
        <item name="android:windowFrame">@null</item>
        <!-- Dialog以外的区域模糊效果 -->
        <item name="android:backgroundDimEnabled">true</item>
        <!-- 无标题 -->
        <item name="android:windowNoTitle">true</item>
        <!-- 半透明 -->
        <item name="android:windowIsTranslucent">true</item>
        <!-- Dialog进入及退出动画 -->
        <item name="android:windowAnimationStyle">@style/ActionSheetDialogAnimation</item>

        <item name="android:listPreferredItemPaddingLeft">4dip</item>
        <item name="android:listPreferredItemPaddingRight">4dip</item>

    </style>
    <!-- ActionSheet进出动画 -->
    <style name="ActionSheetDialogAnimation" parent="@android:style/Animation.Dialog">
        <item name="android:windowEnterAnimation">@anim/translate_up</item>
        <item name="android:windowExitAnimation">@anim/translate_down</item>
    </style>

布局:dialog_pick

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minWidth="300dp"
    android:orientation="vertical"

    >
    <!--
    android:layout_marginLeft="@dimen/sh_margin_left"
    android:layout_marginRight="@dimen/sh_margin_right"
    android:layout_marginTop="@dimen/sh_margin_top"

    -->

    <TextView
        android:id="@+id/tv_pick_tittle"
        android:layout_width="match_parent"
        android:layout_height="@dimen/item_height_main"
        android:layout_margin="2dp"
        android:background="@drawable/shape_white_rad15"
        android:gravity="center"
        android:text="请选择小V"
        android:textColor="@color/text_color_main"
        android:textSize="@dimen/text_size_main"
        android:visibility="visible" />


    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv_dialog_pick"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/shape_white_rad15"

        ></android.support.v7.widget.RecyclerView>

    <TextView
        android:id="@+id/tv_pick_cancel"
        android:layout_width="match_parent"
        android:layout_height="@dimen/item_height_main"
        android:layout_marginTop="@dimen/sh_margin_top"
        android:background="@drawable/shape_white_rad15"
        android:gravity="center"
        android:text="取  消"
        android:textColor="@color/text_color_main_3"
        android:textSize="18sp" />
</LinearLayout>




查看评论

底部弹出框

一、自定义一个类弹出框类: /** * Bottom弹出框 * Created by kuyue on 2016/7/8. */ public class MyBottomDialog{ ...
  • u013231041
  • u013231041
  • 2016-07-12 11:31:31
  • 383

[demo]仿IOS底部弹框效果及Android各类对话框和弹框效果

  • 2016年05月18日 18:10
  • 6.66MB
  • 下载

Android底部弹框的两种实现(总结)

在Android应用上,为了美观,和与IOS的统一性,众多的APP都模仿苹果使用底部弹出Dialog。 本人结合项目中使用过的,好用的实现方式分为两种: 1、自定义Dialog; 2、属...
  • yanjunhui2011
  • yanjunhui2011
  • 2016-08-26 16:16:23
  • 985

Android仿ios风格底部弹框

  • 2017年05月31日 19:09
  • 2.06MB
  • 下载

iOS通过UIAlertController弹出底部选择框来调用相机或者相册

iOS通过UIAlertController弹出底部选择框来调用相机或者相册
  • l2i2j2
  • l2i2j2
  • 2016-04-07 22:21:18
  • 3722

Android 富有动感的底部弹出框

一个富有动感的 Sheet, 先发两张图:  项目地址:https://github.com/zzz40500/AndroidSweetSheet...
  • jdsjlzx
  • jdsjlzx
  • 2016-04-23 23:18:23
  • 1522

iOS系统弹框封装 一句代码实现中间和底部弹框

// //  ZFSAlertView.h //  test // //  Created by HandsomeC on 2017/12/11. //  Copyrig...
  • zhaofahseng
  • zhaofahseng
  • 2017-12-11 16:06:24
  • 143

android仿QQ底部弹出框选择头像

  • 2014年08月11日 13:13
  • 1.5MB
  • 下载

ios 底部弹出框菜单

在IOS开发中,经常用到底部菜单,这是一个简单的底部弹出菜单的实现 代码如下:      头文件(.h)     #import @interface ShareMenuView : UIVie...
  • smk524198002
  • smk524198002
  • 2015-10-15 14:28:27
  • 3855
    个人资料
    等级:
    访问量: 95
    积分: 290
    排名: 27万+
    文章存档