当控件未加载的时候获取屏幕宽高获取的都是0,所以需要换个方法

mViewHolder.mAdressView.post(new Runnable() {    @Override    public void run() {        setSnSeviceLayout();    }});
public void setSnSeviceLayout(){    int width=  (mViewHolder.mAdressView.getWidth()-DimenUtils.dip2px(getActivity(),55))/3; //不能使用一开始隐藏的控件获取宽度,否则获取到的宽度为0    ViewGroup.LayoutParams params1=  mViewHolder.mTvSuningService.getLayoutParams();    params1.width=width;    mViewHolder.mTvSuningService.setLayoutParams(params1);    ViewGroup.LayoutParams params2=   mViewHolder.mTvHasStorage.getLayoutParams();    params2.width=width;    mViewHolder.mTvHasStorage.setLayoutParams(params2);    ViewGroup.LayoutParams params3=   mViewHolder.mTvOverseas.getLayoutParams();    params3.width=width;    mViewHolder.mTvOverseas.setLayoutParams(params3);    ViewGroup.LayoutParams params4=   mViewHolder.mTvPublicWelfare.getLayoutParams();    params4.width=width;    mViewHolder.mTvPublicWelfare.setLayoutParams(params4);}

但是当使用了上述的方法的时候获取的宽度仍然是0,后来才发现是因为mViewHolder.mAdressView这个控件被设置了隐藏GONE,需要更换其他Visible的控件即可。

更多相关文章

  1. Android实现打电话功能
  2. AndroidTextView的跑马灯效果,解决复杂布局不能获取焦点的问题
  3. Android(安卓)控件属性
  4. Android屏幕尺寸、标题栏高度、状态栏高度、当前View尺寸
  5. Android练习——Spinner二级联动_城市选择
  6. 取消自动获取焦点(默认进来焦点到edittext),取消进入呼出软件盘
  7. Android(安卓)获取手机卡相关信息
  8. android开发之android:padding和android:margin的区别
  9. Android重要控件概览(上)

随机推荐

  1. android系统中的多线程(一): 关于在andro
  2. Android基础入门教程——3.1 基于监听的
  3. [android]-如何在向服务器发送request时
  4. android绘图之Canvas基础(2)
  5. Android中handler的使用及原理---学习笔
  6. Google 发布的15个 Android 性能优化典范
  7. [Android 新特性] 有史来最大改变 Androi
  8. Android之googleMap 2
  9. Android 3.0 统一UI的利弊
  10. Android 事件处理(―)(附源码)