不知有没有哪位大侠阅读过android的AlertDialog和其成员类AlertController的源码。小弟最近想改写android的AlertDialog,其实就是把AlertController的部分方法做了修改,其中改写setupButtons方法时,假设dialog只有一个按钮的情况,为了美观,就需要让这个按钮占据底部的大部分区域,其实就是将按钮的宽度加大,本人代码如下:
LinearLayout.LayoutParams layoutParams = (android.widget.LinearLayout.LayoutParams) button.getLayoutParams();
layoutParams.width = 250;
layoutParams.height = 150;
button.setLayoutParams(layoutParams);
可是无论你的width设成多大,button的宽度永远不变,我也曾试着单独把这段代码放进一个新的activity中运行,xml布局代码一样,证实代码能正常运行,不知为什么在这个类中就不能运行了呢,要说android更改VIEW必须在main线程中运行,可为什么其实控制VIEW的方法就能正常运行呢,比如view.setVisibility()方法
望大侠们指教
LinearLayout.LayoutParams layoutParams = (android.widget.LinearLayout.LayoutParams) button.getLayoutParams();
layoutParams.width = 250;
layoutParams.height = 150;
button.setLayoutParams(layoutParams);
可是无论你的width设成多大,button的宽度永远不变,我也曾试着单独把这段代码放进一个新的activity中运行,xml布局代码一样,证实代码能正常运行,不知为什么在这个类中就不能运行了呢,要说android更改VIEW必须在main线程中运行,可为什么其实控制VIEW的方法就能正常运行呢,比如view.setVisibility()方法
望大侠们指教
解决方案 »
- android和服务器通信方式有哪些呢?
- InputStreamReader(urlConn.getInputStream())报NullPointerException求解
- android怎么传一个数组给PHP,大神帮我改改下面的代码
- Android开发中能不能把模拟器和开发环境分别装在不同的机器上??
- 如何实现 手动停止应用程序后 应用程序的自动重启?
- google android market哪里有安装文件啊?
- 读取服务器上的文件不成功
- 设置了threme之后,程序启动总是显示已停止运行
- android代码混淆后无法运行
- 蓝牙数据接收在程序中
- 求 4.0.0开发包 就是sdk platforms 文件夹里的 android-14文件夹
- 菜鸟配置Android开发环境求指点啊
另外,提高结帖率有助于你解决问题~~
我试了'Dialog类+style',好像没有AlertDialog封闭得那么好,而且阅读这两个类的源码对我学习android的帮助很大,因为如果只是会用android的控件而不知是内部实现原理会让人有云里雾里的感觉,知其然而不知其所以然,总是不能得心应手