Android AlertDialog标题居中

news/2025/1/15 22:07:33/

网上很多做法都是使用setCustomTitle方法实现的,我偏不,因为我已经找到了标题的textView了:

在show了之后可以拿到标题(注意一定是show之后才能拿得到,create之后拿也是空的):

TextView titleView = dialog.findViewById(androidx.appcompat.R.id.alertTitle);

然后在调试的过程中给他设置背景确认了它的宽度就是匹配容器的,那么理想当然的认为给他设置一个居中属性 titleView.setGravity(Gravity.CENTER) 就ok,但是你会发现,没有效果。

实际上通过源码布局中可以看到:

<androidx.appcompat.widget.DialogTitleandroid:id="@+id/alertTitle"style="?android:attr/windowTitleStyle"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="start"android:ellipsize="end"android:singleLine="true"android:textAlignment="viewStart"/>

它是设置了一个textAlignment属性,表示文本的对齐方式。所以会使得setGravity看起来不生效。那我们设置它对齐方式为居中对齐就OK了:

titleView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);

本来还想要在style中对windowTitleStyle统一声明这个textAlignment,但是也会发现不生效,通过上面的布局源码可知在设置了这个style之后才设置的textAlignment,所以你在style中定义textAlignment会被后面替换掉了,所以只能通过动态代码设置的方式来让它居中了。

完。


http://www.ppmy.cn/news/1018750.html

相关文章

iPhone手机怎么恢复出厂设置(详解)

如果您的iPhone遇到了手机卡顿、软件崩溃、内存不足或者忘记手机解锁密码等问题&#xff0c;恢复出厂设置似乎是万能的解决方法。 什么是恢复出厂设置&#xff1f;简单来说&#xff0c;就是让手机重新变成一张白纸&#xff0c;将手机所有数据都进行格式化&#xff0c;只保留原…

【算法题】1281. 整数的各位积和之差

题目&#xff1a; 给你一个整数 n&#xff0c;请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 示例 1&#xff1a; 输入&#xff1a;n 234 输出&#xff1a;15 解释&#xff1a; 各位数之积 2 * 3 * 4 24 各位数之和 2 3 4 9 结果 24 - 9 15 示…

嵌入式Linux驱动开发系列六:Makefile

Makefile是什么? gcc hello.c -o hello gcc aa.c bb.c cc.c dd.c ... make工具和Makefile make和Makefile是什么关系&#xff1f; make工具:找出修改过的文件&#xff0c;根据依赖关系&#xff0c;找出受影响的相关文件&#xff0c;最后按照规则单独编译这些文件。 Make…

windows 安装免费3用户ccproxy ubuntu 代理上网

Windows 上进行安装 ubuntu 上进行设置 方法一 (临时的手段) 如果仅仅是暂时需要通过http代理使用apt-get&#xff0c;您可以使用这种方式。 在使用apt-get之前&#xff0c;在终端中输入以下命令&#xff08;根据您的实际情况替换yourproxyaddress和proxyport&#xff09;。 终…

Windows 2016安装Jenkins

Jenkins 下载&#xff0c;安装 下载OpenJDK 11 for Wndows 两种方式 choco install openjdk11 https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.20_8.msi how to enable administrator user to …

Python京东商品详情页数据采集方法,京东 API 接口介绍

京东详情接口 API 是开放平台提供的一种 API 接口&#xff0c;它可以帮助开发者获取商品的详细信息&#xff0c;包括商品的标题、描述、图片等信息。在电商平台的开发中&#xff0c;详情接口 API 是非常常用的 API&#xff0c;因此本文将详细介绍详情接口 API 的使用。 一、京…

ubuntu 20.04 RK3568网络的优先级设置

1、背景 硬件使用RK3568 CPU&#xff0c;操作系统采用ubuntu 20.04 Lxqt桌面的版本。硬件上具有一个有线以太网卡&#xff0c;一个wifi网卡&#xff0c;一个5G网卡。由于操作系统默认的网络优先级为有线网卡的最高&#xff0c;5G网卡次之。在一个业务应用中需要5G网卡的连接外…

【LeetCode 算法】Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值-动态规划

文章目录 Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值问题描述&#xff1a;分析代码动态规划 Tag Maximum Absolute Sum of Any Subarray 任意子数组和的绝对值的最大值 问题描述&#xff1a; 给你一个整数数组 nums 。一个子数组 [ n u m s l , n u…