开发工具Android Studio

今天公司UI要求软件对话框改成加图片的,以前没有做过,所以就学习了一下,废话不多说,

看效果:

创建XML文件dialog_lsit_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/my_dialog_shape">

<ImageView
            android:id="@+id/iv_dialog"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:paddingLeft="20dp"
            android:gravity="center"/>
        <TextView
            android:gravity="center"
            android:id="@+id/tv_dialog"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:textSize="20sp"
            android:layout_marginLeft="14dp"/>

</LinearLayout>

Main_activity.xml布局文件

<TextView
    style="@style/itemTextLeft"
    android:layout_width="wrap_content"
    android:layout_height="@dimen/dp_40"
    android:drawableLeft="@mipmap/zhifufangshi"
    android:drawablePadding="@dimen/dp_10"
    android:text="@string/text_zhifufangshi" /> <TextView
    android:id="@+id/fangshi"
    android:clickable="true"
    style="@style/itemTextLeftNext"
    android:layout_width="match_parent"
    android:layout_height="@dimen/dp_40"
    android:gravity="center_vertical|end"
    android:drawablePadding="@dimen/dp_10" />

MainActivity.java源文件

//支付对话框 icon or text
private String[] datas = {"微信支付", "支付宝支付", "余额支付"};
private int[] images = {R.drawable.weixinzhifu, R.drawable.zhifubaozhifu, R.drawable.yuezhifu};
private List<Map<String, Object>> listItem;
 
public class MainActivity extends BaseActivity implements View.OnClickListener{
 
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
        initView();
}
@Override
protected void initView() {
 
        findViewById(R.id.fangshi).setOnClickListener(this);
 
}
 
@Override
public void onClick(View view) {
    if (view != null) {
        switch (view.getId()) {      
               case R.id.fangshi:
                       showFangshi();
                       break;
               }
}
 
//选择支付方式
private void showFangshi() {
    listItem = new ArrayList<Map<String, Object>>();
    for (int i = 0; i < datas.length; i++) {
        Map<String, Object> map = new HashMap<>();
        map.put("data", datas[i]);
        map.put("image", images[i]);
        listItem.add(map);
    }
    SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItem, R.layout.dialog_list_item,
            new String[]{"data", "image"}, new int[]{R.id.tv_dialog, R.id.iv_dialog});
    //自定义列表对话框
    AlertDialog.Builder builder = new AlertDialog.Builder(this).setAdapter(simpleAdapter,
            new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //Toast.makeText(MainActivity.this, "选中了:"+datas[which].toString(),Toast.LENGTH_SHORT).show();
            //支付方式那行显示名称
            fangshi.setText(datas[which]);
            //支付方式赋值
            payType = which;
            //关闭对话框
            dialog.dismiss();
        }
    });
    builder.create().show();
}

注意:支付方式那行显示名称——关闭对话框 里边的变量是我写好的 用的时候可以注释 解除Toast注释。因公司软件  我只是截取部分  用来说明这个效果 就不上源码文件了,感谢!有问题可以私信我!

Android系统默认对话框添加图片的更多相关文章

  1. Android系统默认设置

    修改Settings源码,可修改系统设置项,Settings数据被存放于com.android.providers.settings/databases/settings.db中,如果想修改系统启动后 ...

  2. 美化传奇NPC对话框添加图片显示实列

    NPC对话框一般都是文字显示,有些GM想突出版本特色,在NPC对话框加些专业图片,彰显独特之处,其实这是很简单的.下面为你讲解美化传奇NPC对话框添加图片显示实列 我们要添加你要放入npc图片的补丁. ...

  3. Android系统默认语言改为中文

    第一种方法: 修改 build/tools/buildinfo.sh echo "ro.product.locale.language=zh"echo "ro.produ ...

  4. 高速改动android系统默认日期方法

    高速改动android系统默认日期方法 在android系统的设备上,都有一个默认的開始日期,看过非常多设备,有些设备在没有联网的时候没有同步到系统时间的时候,竟然默认的还是1970年的日期.也见过有 ...

  5. Android源码分析(九)-----如何修改Android系统默认时间

    一 : 修改Android系统默认时间 源码路径:frameworks/base/services/java/com/android/server/SystemServer.java 主要变量EARL ...

  6. Android 系统默认参数的修改

    转自: http://www.th7.cn/Program/Android/201505/447097.shtml 写在前面的话 一般在新项目开始之初,我们需要针对客户需求进行各种系统默认属性的配置, ...

  7. Android系统默认Home应用程序(Launcher)的启动过程源代码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个 Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home ...

  8. Android系统默认Home应用程序(Launcher)的启动过程源码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还须要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应 ...

  9. 通过settings.db自定义Android系统默认设置

    Android的系统设置数据存放在/data/data/com.android.providers.settings/databases/settings.db 中 数据库结构如下: 数据库中的默认数 ...

随机推荐

  1. Linux scp 设置nohup后台运行

    Linux scp 设置nohup后台运行 1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继 ...

  2. 如何利用ETW(Event Tracing for Windows)记录日志

    ETW是Event Tracing for Windows的简称,它是Windows提供的原生的事件跟踪日志系统.由于采用内核(Kernel)层面的缓冲和日志记录机制,所以ETW提供了一种非常高效的事 ...

  3. app引导页(背景图片切换加各个页面动画效果)

    前言:不知不觉中又加班到了10点半,整个启动页面做了一天多的时间,一共有三个页面,每个页面都有动画效果,动画效果调试起来麻烦,既要跟ios统一,又要匹配各种不同的手机,然后产品经理还有可能在中途改需求 ...

  4. UWP开发必备以及常用知识点总结

    一直在学UWP,一直在写Code,自己到达了什么水平?还有多少东西需要学习才能独挡一面?我想对刚接触UWP的开发者都有这种困惑,偶尔停下来总结分析一下还是很有收获的! 以下内容是自己开发中经常遇到的一 ...

  5. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  6. [OC] NSURLSession

    有的程序员老了,还没听过NSURLSession 有的程序员还嫩,没用过NSURLConnection 有的程序员很单纯,他只知道AFN. NSURLConnection在iOS9被宣布弃用,NSUR ...

  7. 不要着急改代码,先想想--centos 6.8下编译安装tmux

    诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...

  8. 微信小程序之用户数据解密(七)

    [未经作者本人同意,请勿以任何形式转载] 经常看到有点的小伙伴在群里问小程序用户数据解密流程,所以打算写一篇关于小程序用户敏感数据解密教程: 加密过程微信服务器完成,解密过程在小程序和自身服务器完成, ...

  9. linux用户权限相关内容查看

    linux用户权限相关内容查看 1   用户信息 创建用户一个名为 webuser 的账号,并填写相应的信息: root@iZ94fabhqhuZ:~# adduser webuser Adding ...

  10. 监督学习 VS 无监督学习

    监督学习 就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为 ...