Android让两个不同内容的Button动态对齐
来源:互联网 发布:php手机验证码 编辑:程序博客网 时间:2024/06/15 04:31
最近做的项目中要求两个内容不同的TextView做Button,每次按照最长的那个Text为基准调整button的长度。(这些TextView以一个9png的图片为背景,所以会跟着内容的长度自己变长宽)
要实现这个功能,在XML显然不大好做,那么就要放到代码里面去完成。
大体思路:
量出两个button的长度,谁长用谁的为基准,再重新设置宽度。
遇到的难点:
本来是想要在界面以启动的时候就设置好宽度的。但是发现在onResume里面其实是无法获取控件的宽度的。getWidth始终为0。
解决方案:
如果想要在界面显示出来之前就获得TextView的宽度,请使用如下方法:
<span style="font-size:14px;">mSettingWidth = settingtxt.getPaint().measureText(getString(R.string.customize)) + getResources().getDisplayMetrics().density*9;</span>
if(mSettingWidth==0||mBackgroudWidth==0){ mSettingWidth = settingtxt.getPaint().measureText(getString(R.string.customize)) + getResources().getDisplayMetrics().density*9; mBackgroudWidth = backgroundtxt.getPaint().measureText(getString(R.string.background)) + getResources().getDisplayMetrics().density*9; Log.d(TAG, "mSettingWidth="+mSettingWidth+",mBackgroudWidth="+mBackgroudWidth); } if(mSettingWidth>mBackgroudWidth){ settingtxt.setMinimumWidth((int)(mSettingWidth)); backgroundtxt.setMinimumWidth((int)(mSettingWidth)); }else{ settingtxt.setMinimumWidth((int)(mBackgroudWidth)); backgroundtxt.setMinimumWidth((int)(mBackgroudWidth)); }
这样一旦该应用已启动,用户获得焦点后,这两个控件就会一直长度一致咯~
0 0
- Android让两个不同内容的Button动态对齐
- android 不同主题下不同状态的button 动态改变文字和图片
- 合并内容格式不同的两个文件
- 打印两个文件不同的内容
- 动态Button的android:drawableTop
- 点击button往ul中添加不同的内容
- Android开发技巧不同状态的Button
- Android开发技巧不同状态的Button
- android去掉两个Button之间的间距
- android-Button,ImageButton的文本内容填写
- Android 控件<button>对齐方法
- QT学习:根据数据库的内容动态添加Button
- Android 动态修改app名称(市场和手机中显示两个不同的名称)
- iOS_UIButton 实现button的内容左对齐以及图片和标题中间的间隔
- button的 title 对齐方式
- 怎样让asp:button上的文本左对齐,样式不行,还有别的办法没?
- 有两个不同list,需要对比两个list内容且输出差异的内容
- 找出两个文件内容的相同与不同
- poj 1149 PIGS(网络流 BFS 标号法)(困难)
- Oracle查询本周、本月、本年的记录
- 欢迎使用CSDN-markdown编辑器
- CentOs 7中安装Oracle 11g
- static & Class method
- Android让两个不同内容的Button动态对齐
- C语言小游戏 - 俄罗斯方块
- 【禁止phpmyadmin外网访问的设置】
- Codeforces Round #320 (Div. 1) C. Weakness and Poorness
- delphi:with do用法
- Linux进程通信(无名管道,有名管道,共享内存)的实现
- 简单的验证码识别(通过颜色)
- Unity3d之C#开发(二)
- 【设计模式】-工厂方法模式-Factory Method