zoukankan      html  css  js  c++  java
  • 软工超越日报-Android底边弹出框 5/15

    今天我们来写一个android的底边框,以此将相册选择和现场拍照这两个功能集成在一个按钮里

    代码如下:

     //底部弹出框(拍照)
        private void showBottomDialog() {
            //1、使用Dialog、设置style
            final Dialog dialog = new Dialog(this, R.style.DialogTheme);
            //2、设置布局
            View view = View.inflate(this, R.layout.buttomtoola, null);
            dialog.setContentView(view);
    
            Window window = dialog.getWindow();
            //设置弹出位置
            window.setGravity(Gravity.BOTTOM);
            //设置弹出动画
            window.setWindowAnimations(R.style.main_menu_animStyle);
            //设置对话框大小
            window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            dialog.show();
    
            dialog.findViewById(R.id.tv_take_photo).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    dialog.dismiss();
                    image_uri = Utils.start_camera(MainActivity.this, 1002);
                }
            });
    
            dialog.findViewById(R.id.tv_take_pic).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // 打开相册
                    Intent intent = new Intent(Intent.ACTION_PICK);
                    intent.setType("image/*");
                    startActivityForResult(intent, 1);
                    dialog.dismiss();
                }
            });
    
            dialog.findViewById(R.id.tv_cancel).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    dialog.dismiss();
                }
            });
        }

    这样就可以实现底部弹出框的效果了

    顺带一提,所使用的activity长成这个样子:

    <?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="match_parent"
        android:background="#fff"
        android:orientation="vertical">
    
        <TextView
            android:id="@+id/tv_take_photo"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:gravity="center"
            android:text="拍摄"
            android:textColor="@android:color/background_dark"
            android:textSize="16sp" />
    
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@android:color/darker_gray" />
    
        <TextView
            android:id="@+id/tv_take_pic"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:gravity="center"
            android:text="相册选择"
            android:textColor="@android:color/background_dark"
            android:textSize="16sp" />
    
        <View
            android:layout_width="match_parent"
            android:layout_height="5dp"
            android:background="@android:color/darker_gray" />
    
        <TextView
            android:id="@+id/tv_cancel"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:gravity="center"
            android:text="取消"
            android:textColor="@android:color/background_dark"
            android:textSize="16sp" />
    
    </LinearLayout>

    这是我们一个组员写出来的,用view作为分割线真是巧妙,真的有QQ的那种味道了!

  • 相关阅读:
    Python分析44130条用户观影数据,挖掘用户与电影之间的隐藏信息!
    办公利器!用Python快速将任意文件转为PDF
    教你用python搭建一个「生活常识解答」机器人
    办公利器!用Python批量识别发票并录入到Excel表格
    遇到禁止复制该怎么办?幸好我会Python...
    通知:生物信息学云论坛第十五场报告会
    centos7设置SSH安全策略–指定IP登陆
    SpringMVC—RequestMapping注解参数说明
    SpringMVC-方法四种类型返回值总结,你用过几种?
    Window下:自带python编辑器的wxpython项目发布打包exe
  • 原文地址:https://www.cnblogs.com/Sakuraba/p/14910996.html
Copyright © 2011-2022 走看看