Android之Inflate()方法用途

Inflate()作用就是将xml定义的一个布局找出来,但仅仅是找出来而且隐藏的,没有找到的同时并显示功能。最近做的一个项目就是这一点让我迷茫了好几天。

android上还有一个与Inflate()类似功能的方法叫findViewById(),二者有时均可使用,但也有区别

区别在于:

如果你的Activity里用到别的layout,比如对话框layout,你还要设置这个layout上的其他组件的内容,你就必须用inflate()方法先将对话框的layout找出来,然后再用findViewById()找到它上面的其它组件。例如:

View view1=View.inflate(this,R.layout.dialog_layout,null);
  
  TextViewdialogTV=(TextView)view1.findViewById(R.id.dialog_tv);
  
  dialogTV.setText("abcd");
注:R.id.dialog_tv是在对话框layout上的组件,而这时若直接用 this.findViewById(R.id.dialog_tv)肯定会报错。


View viewStub = ((ViewStub) findViewById(R.id.stubView)).inflate();

Inflate()或可理解为“隐膨胀”,隐性摆放在view里,inflate()前只是获得控件,但没有大小没有在View里占据空间,inflate()后有一定大小,只是出于隐藏状态

### UTCGMTCST 的时区差异及转换关系 #### 什么是 UTCUTC 是协调世界时(Universal Time Coordinated)的缩写,是一种基于原子钟的时间标准。它是全球时间的标准基准,不随夏令时变化,并且作为其他时区计算的基础[^1]。 #### 什么是 GMTGMT 是格林尼治标准时间(Greenwich Mean Time)的缩写,最初用于航海导航中的时间标准。虽然历史上 GMT 曾被认为是与 UTC 完全相同的时间体系,但在现代技术语境中,GMT 更多地指代英国地区的标准时间,在某些情况下可能受夏令时影响[^4]。 #### 什么是 CSTCST 可能有多种含义,具体取决于上下文环境: - **中国标准时间 (China Standard Time)**:比 UTC 时间早 8 小时,记作 UTC+8。 - **中央标准时间 (Central Standard Time)**:主要应用于北美地区,比 UTC 时间晚 6 小时,记作 UTC-6[^2]。 #### 转换关系 - 如果讨论的是中国的 CST,则其相对于 UTC 的偏移为 +8 小时。例如,当 UTC 显示时间为凌晨 0 点时,对应的 CST 则显示为上午 8 点[^4]。 - 对于北美的 CST 来说,它相对 UTC 偏移 -6 小时。因此,如果 UTC 表明当前时刻为中午 12 点,那么该区域内的 CST 应为清晨 6 点[^2]。 以下是通过 Python 实现的一个简单的时区转换函数: ```python from datetime import datetime, timedelta, timezone def convert_utc_to_cst(utc_time_str, cst_offset_hours): utc_format = "%Y-%m-%d %H:%M:%S" utc_time = datetime.strptime(utc_time_str, utc_format) # Define the offset based on input hours. target_timezone = timezone(timedelta(hours=cst_offset_hours)) # Convert to desired time zone with given offset. converted_time = utc_time.replace(tzinfo=timezone.utc).astimezone(target_timezone) return converted_time.strftime(utc_format) # Example usage converting from UTC to China's CST (+8). print(convert_utc_to_cst("2023-03-01 00:00:00", 8)) # Output should be '2023-03-01 08:00:00' ``` 此脚本接受一个字符串形式的 UTC 时间戳以及目标时区相对于 UTC 的小时差值参数 `cst_offset_hours` ,从而完成相应调整后的输出[^4]。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值