[Android][设置最小(大)宽高]

2023-10-26

#1.简介
TextView里定义的方法,据说是设置文本区域的宽高
android:maxWidth 关联方法: setMaxWidth(int) 属性说明: 设置文本区域的最大宽度
android:maxHeight 关联方法: setMaxHeight(int) 属性说明: 设置文本区域的最大高度
android:minWidth 关联方法: setMinWidth(int) 属性说明: 设置文本区域的最小宽度
android:minHeight 关联方法: setMinHeight(int) 属性说明: 设置文本区域的最小高度

View里定义的方法,只有设置视图最小宽高的方法,没有设置视图最大宽高的方法
android:minHeight 关联方法: setMinimumHeight(int) 属性说明: 设置视图最小高度
android:minWidth 关联方法: setMinimumWidth(int) 属性说明: 设置视图最小宽度

#2.代码分析

/**
 * @author LGY
 * @time 2017-12-13
 * @action 经过测试我们知道,
 * 这是TextView里定义的方法,就目前测试而言,Button是无法通过这几个方法设置小宽高的,button要设置最小宽度只能通过setMinimumWidth和setMinimumHeight
android:maxWidth 关联方法: setMaxWidth(int) 属性说明: 设置文本区域的最大宽度
android:maxHeight 关联方法: setMaxHeight(int) 属性说明: 设置文本区域的最大高度
android:minWidth 关联方法: setMinWidth(int) 属性说明: 设置文本区域的最小宽度
android:minHeight 关联方法: setMinHeight(int) 属性说明: 设置文本区域的最小高度

这两个方法是View里定义的,只有设置视图最小宽高的方法,没有设置视图最大宽高的方法
android:minHeight 关联方法: setMinimumHeight(int) 属性说明: 设置视图最小高度
android:minWidth 关联方法: setMinimumWidth(int) 属性说明: 设置视图最小宽度

 */
public class TestWidth extends Activity{

	private LinearLayout bodyLayout = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		initView();
		setContentView(bodyLayout);
	}
	
	private void initView()
	{
		LinearLayout.LayoutParams params = null;
		try {
			bodyLayout = new LinearLayout(this);
			if (bodyLayout!=null) {
				bodyLayout.setOrientation(LinearLayout.VERTICAL);
				params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
				if (params!=null) {
					bodyLayout.setLayoutParams(params);
				}
				
				LinearLayout layout = new LinearLayout(this);
				if (layout!=null) {
					layout.setOrientation(LinearLayout.VERTICAL);
					params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
					if (params!=null) {
						layout.setLayoutParams(params);
					}
					layout.setMinimumHeight(100);
					layout.setBackgroundColor(Color.YELLOW);
					bodyLayout.addView(layout);
				}
				

				
				TextView textTv = new TextView(this);
				if (textTv!=null) {
					textTv.setText("测试");
//					对于TextView,不管是调用setMinHeight还是setMinimumHeight都可以设置最小高度
					textTv.setMinHeight(300);
//					textTv.setMinimumHeight(300);
					textTv.setBackgroundColor(Color.RED);
					bodyLayout.addView(textTv);
				}
				//在没有设置setLayoutParams的高为LayoutParams.MATCH_PARENT的情况下,通过setMaxHeight是可以设置最大高度的
				TextView textTv2 = new TextView(this);
				if (textTv2!=null) {
//					params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
//					if (params!=null) {
//						textTv2.setLayoutParams(params);
//					}
					textTv2.setText("测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd" +
							"测试2dddddddddddddddddddd");
					textTv2.setMaxHeight(100);
					textTv2.setBackgroundColor(Color.WHITE);
					bodyLayout.addView(textTv2);
				}
				//Button
				Button btn = new Button(this);
				if (btn!=null) {
					btn.setText("Button");
					//Button无法通过setMinHeight设置最小高度
					textTv.setMinHeight(100);
					//Button通过setMinimumHeight可以设置最小高度
//					btn.setMinimumHeight(100);
					btn.setBackgroundColor(Color.BLUE);
					bodyLayout.addView(btn);
				}
				ImageView imageView = new ImageView(this);
				if (imageView!=null)
				{
					imageView.setImageResource(R.drawable.ic_launcher);
					//ImageView因为继承的是View所以没有setMinHeight方法,
//					imageView.setMinHeight(300);
					//ImageView通过setMinimumHeight可以设置最小高度
					imageView.setMinimumHeight(300);
					bodyLayout.addView(imageView);
				}
				EditText editText = new EditText(this);
				if (editText!=null)
				{
					//EditText可以通过setMinHeight方法设置最小高度,效果和setMinimumHeight一样
					editText.setMinHeight(300);
					//EditText通过setMinimumHeight可以设置最小高度
//					editText.setMinimumHeight(300);
					editText.setHint("TEST");
					bodyLayout.addView(editText);
				}
			}
		} catch (Exception e) {
		}

	}
}

#3.总结
(1)LinearLayout等继承ViewGroup的布局,因为ViewGroup也是继承View的,所以LinearLayout也只有setMinimumHeight和setMinimumWidth设置最小宽高的方法,但是并没有设置最大宽高的方法。
(2)Button,EditView等都是继承了TextView,EditView可以通过setMinHeight设置最小高度,但是Button不行,Button必须通过setMinimumHeight才能设置最小高度。
#4.源码地址
http://download.csdn.net/download/lgywsdy/10156936

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Android][设置最小(大)宽高] 的相关文章

随机推荐

  • Java开发人员必知必会的20种常用类库和API

    Java开发人员必知必会的20种常用类库和API 一个有经验的Java开发人员特征之一就是善于使用已有的轮子来造车 Effective Java 的作者Joshua Bloch曾经说过 建议使用现有的API来开发 而不是重复造轮子 在本文中
  • Spring cloud Gateway常用配置

    gateway里的常用配置 前面的例子是通过路径 Path 方式配置路由转发 gateway还还有其他的配置 下面做个简单的介绍 1 路由 route Route 主要由 路由id 目标uri 断言集合 过滤器集合组成 前面的实例用到了id
  • python 获取网页视频

    代码实现 import tkinter import tkinter messagebox import os import os path import you get 获取当前工作目录 path os getcwd 设置当前目录为工作目
  • LeetCode 460. LFU Cache

    原题网址 https leetcode com problems lfu cache Design and implement a data structure for Least Frequently Used LFU cache It
  • 吐血推荐那些提升开发人员工作效率的在线工具

    来源 公众号 作者 Hollis 作为一个Java开发人员 经常要和各种各样的工具打交道 除了我们常用的IDE工具以外 其实还有很多工具是我们在日常开发及学习过程中要经常使用到的 Hollis偏爱使用在线工具 因为个人觉得这样比较方便 本文
  • crontab定时启动scrapy爬虫

    部署到测试环境 并设置定时启动任务 通过FileZille工具 将本地的文件上传到测试服务器上面的python文件夹中 在与spider同级目录下写一个shell脚本 启动所编辑的运行爬虫文件 vi run sh 1 bin sh 2 ex
  • 修改服务器数据库名称,修改服务器数据库名称

    修改服务器数据库名称 内容精选 换一换 弹性云服务器能否ping通华为云关系型数据库实例 如果ping不通 可以查看弹性云服务器和华为云关系型数据库实例是否处于同一个虚拟私有云内 是否使用同一个安全组 如果ping不通 可以查看弹性云服务器
  • Aviator这么丝滑,怎么实现的呢?

    大家好 我是老三 在上期 里我们介绍了轻量级规则引擎AviatorScript的基本用法和一些使用案例 这期我们来研究一下 这么丝滑的规则脚本是怎么实现的 概览 我们先来回顾一个简单的例子 Test public void test 表达式
  • element 模态框内,表单编辑回填的值在关闭时,表单内容无法正确重置问题

    element 表单使用 this refs formName resetFields 进行数据重置 但重置的初始数据是基于表单第一次渲染时的数据为模板 由于点击编辑时 模态框显示与表单内容渲染是同时进行 所以 el form 就认为回填值
  • STM32--TIM定时器(3)

    文章目录 输入捕获简介 频率测量 输入捕获通道 输入捕获基本结构 PWMI的基本结构 输入捕获模式测量PWM频率和占空比 代码 编码器接口 正交编码器 工作模式 接口基本结构 TIM编码接口器测速 代码 输入捕获简介 输入捕获IC Inpu
  • 传奇服务器文件组成,【教程】传奇服务端(版本)的结构以及重要文件功能的概述-A02...

    第A02课 传圌奇私圌服服圌务端 版本 的结构以及重要文件功能的概述 有很多新人根本不了解传圌奇的结构 学习的时候就比较困难 所以才设置了这么一课 以下是服圌务端主要文件位置与用途
  • Qt实现多线程编程的两种方式

    Qt实现多线程编程的两种方式 方式一 继承自QThread类 覆写run函数 此实现方法只有run函数内的代码是运行在子线程内 代码示例 ifndef QDEMOTHREAD H define QDEMOTHREAD H include
  • 自定义控件MeasureSpecs与measure的理解

    MeasureSpace 是android中父view传递给子view的用来描述对子 view布局需求的数据类型 也就是说父布局把它希view的大小以及变化的尺度分装在这个类里 而子view的measure 方法拿到这个数值 则会根据这个数
  • 【基于机器学习的全国降水量预测分析可视化-哔哩哔哩】 https://b23.tv/RsGfqeD

    基于机器学习的全国降水量预测分析可视化 哔哩哔哩 https b23 tv RsGfqeD https b23 tv RsGfqeD
  • Python脚本报错AttributeError: ‘module’ object has no attribute’get’解决方法

    发现代码都没有错 后来是改成这样 def pprint name var get print name var StringVar Label root text 姓名 font 微软雅黑 20 grid inputStr1 Entry r
  • RabbitMQ消息队列(转)

    转自 https www jianshu com p 79ca08116d57 关于消息队列 从前年开始断断续续看了些资料 想写很久了 但一直没腾出空 近来分别碰到几个朋友聊这块的技术选型 是时候把这块的知识整理记录一下了 市面上的消息队列
  • darknet-yolov4编译

    在个人win10上运行darknet yolov4 准备 电脑msi显卡 gtx1050ti 4g 驱动451以上 内存金士顿8g 必须项准备 先安装vs2017 必须勾选c 再cuda 我装了cuda10 0和9 2 上移环境变量 使10
  • 高级数据库总结

    总结 一 总结笔记 首先是我们会用到的几张数据表 1 学习数据库的必要性 时代迎来大数据时代 数据量的庞大已经不足以用人力来计算 为此我们需要一个软件或者一套流程来解决这个问题 那么数据库肯定是最佳选择 学点东西总是好的 2 Mysql数据
  • Netty:option和childOption参数设置说明

    转载 http www jianshu com p 0bff7c020af2 Channel配置参数 1 通用参数 CONNECT TIMEOUT MILLIS Netty参数 连接超时毫秒数 默认值30000毫秒即30秒 MAX MESS
  • [Android][设置最小(大)宽高]

    1 简介 TextView里定义的方法 据说是设置文本区域的宽高 android maxWidth 关联方法 setMaxWidth int 属性说明 设置文本区域的最大宽度 android maxHeight 关联方法 setMaxHei