ScroolView 控制最大高度
写项目是碰到的需求,是一个弹窗里面是提示文字,文字有可能会很多,作为一个弹窗高度不能太高,太高就不美观了,所以要限定弹窗的高度,需要满足以下几点:
* ScrollView 嵌套 TextView,限制TextView最大高度。 * TextView未达到最大高度时,自适应高度且不能滚动 * TextView达到最大高度时,可滚动。
那就对 ScrollView 进行调整:
public class MaxHeightScrollView extends ScrollView {private int maxHeight;public MaxHeightScrollView(Context context) {super(context);}public MaxHeightScrollView(Context context, AttributeSet attrs) {super(context, attrs);initialize(context, attrs);}public MaxHeightScrollView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);initialize(context, attrs);}private void initialize(Context context, AttributeSet attrs) {TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MaxHeightScrollView);maxHeight = typedArray.getLayoutDimension(R.styleable.MaxHeightScrollView_maxHeight, maxHeight);typedArray.recycle();}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {if (maxHeight > 0) {heightMeasureSpec = MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.AT_MOST);}super.onMeasure(widthMeasureSpec, heightMeasureSpec);}}
XML :
<com.test.widget.MaxHeightScrollViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="@dimen/dp_10"android:fillViewport="true"android:scrollbars="vertical"app:maxHeight="@dimen/dp_300"><TextViewandroid:id="@+id/tv_msg"android:layout_width="match_parent"android:layout_height="wrap_content"android:text=""android:textColor="@color/col_333333"android:textSize="@dimen/sp_14" /></com.test.widget.MaxHeightScrollView>
ScroolView 控制最大高度相关推荐
- css 控制div高度自适应浏览器的高度
css 控制div高度自适应浏览器的高度 1 <html> 2 <head> 3 <style> 4 #myTable{height:100%;border:sol ...
- div+css控制最小高度又自适高度
我们在用div布局的时候经常会遇到这样的一种情况:我们需要设置一个div的高度,当里面的东西超过这个高度时,让这个容器自动被撑开,也就是自适应高度.当里面的信息很少时候,我们就设置它一个最小的固定高度 ...
- html里如何修改边框的高度,html – 如何控制边框高度?
边框总是在包装箱的全长(元素的高度加上其填充)的整个长度,除了调整适用于其的元素的高度之外,它不能被控制.如果您需要的是一个垂直分隔线,您可以使用: content content 用css: spa ...
- 工作的思考十三:自我反省+控制情绪+高度和角度
本来一个多月前写的文章,拖到现在才写好,这种执行力真的挺恶心的,不说了,请看下面的文字: 最近公司出现了离职多发期,虽然我没有离职,但是为了稳固军心,项目经理还是找了每个人进行了一次深入的谈心. 这次 ...
- JS跨域控制IFrame高度自适应
proxy.html放在域名A页面,域名A页面中的iframer的id命名是iFrame,和域名B里面的Js里面的变量对应 <iframe style="HEIGHT: 560px&q ...
- js控制iframe高度自动撑开
<iframe src="index.html" width="100%" name="" id="myiframe&quo ...
- Udacity机器人软件工程师课程笔记(二十四) - 控制(其二) - PID优化,梯度下降算法,带噪声的PID控制
7.非理想情况 (1)积分饱和 到目前为止,我们一直使用的"理想"形式的PID控制器很少用于工业中."时间常数"形式更为常见. 当前说明了理想形式的一些重大缺陷 ...
- php滚动窗口多条动态,详解原生JS是实现控制多个滚动条同步跟随滚动
本文主要和大家详解详解原生JS是实现控制多个滚动条同步跟随滚动,当这两个容器元素的内容都超出了容器高度,即都出现了滚动框的时候,如何在其中一个容器元素滚动时,让另外一个元素也随之滚动. 在一些支持用 ...
- Linux中samba的权限详解,活用三种权限 理解Samba的权限控制
在企业内网开发环境方面,文件服务器是一个非常重要的环节.在这当中,Samba服务器由于其权限控制的高度灵活性,在这里抚琴煮酒会进行一些列详细的说明.之前我们已经介绍了Samba服务器一些入门和基本的更 ...
最新文章
- 为什么这门技术如此重要?错过这次黄金期,就晚了!
- WCF+Nhibernate 序列化的问题。
- 实验一HSRP与STP结合
- boost::type_erasure::less_than_comparable相关的测试程序
- ptp精准时间协议_PTP协议时间同步精度测试
- mysql删除表命令语句_MySQL增删改查语句命令(一)
- Hive 禁止提交 大范围磁盘扫描任务(禁止提交where条件包含未分区过滤)
- 火箭技术术语_仿真优化火箭发动机 3D 打印制造工艺
- 海上瓶子下有东西吗_《海上钢琴师》:宁愿一生孤独,不愿随波逐流。
- mysql max() grou by 的使用小记
- 【保研】2021南京大学计算机夏令营笔试面试笔记
- 仿钉钉考勤统计圆形控件
- 深蓝学院-多传感器融合定位课程学习分享-专栏汇总
- linux删除ip地址的命令
- 3D打印机内网联机打印(1)orangpiPlus安装Octoprint
- 腾讯产品/策划笔试面试经验
- JavaScript基础 ——【了解JavaScript】
- linux下readlink函数详解
- 一起来吐槽:来自暗网的公链项目VAS,竟然内含十级分销?
- 单词 ---- part3
热门文章
- 微信小程序更新webview页面的三种方法
- gridStudio 安装(linux)
- 云POS连锁版收银系统免费试用 超市连锁收银软件免费注册
- serverlet 原理_容器原理架构详解(全)
- Maven Dependency设置,详解! 1
- 网络流——最大流EK算法讲解
- python全国天气信息爬取
- android system recovery%3c3e%3e,如何将QQ好友添加为微信好友
- ios uiswitch 开关_iOS中的UISwitch(开关)
- 非华为电脑管家连接平板--无法连接问题解决方案之一