inflate引入的布局高度不对问题
2015-12-08 10:31
253 查看
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:gravity="center_vertical"
android:layout_height="@dimen/ios_public_space_90px"
android:orientation="horizontal" >
<View
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="1px"
android:layout_marginRight="@dimen/ios_public_space_40px"
android:background="@color/pub_color_eighteen" />
<TextView
android:layout_gravity="center"
android:layout_weight="0"
android:layout_width="wrap_content"
android:gravity="center"
android:text="android"
android:textColor="@color/pub_color_eighteen"
android:textSize="@dimen/ios_public_textsize_24pt" />
<View
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="1px"
android:layout_marginLeft="@dimen/ios_public_space_40px"
android:background="@color/pub_color_eighteen" />
</LinearLayout>
引入这个布局后,我们会发现view绘制出来后高度与预期的是不一样的,并没有想象中的90px,如果想让整个view高度达到90px,可以在textview中加上android:layout_height="@dimen/ios_public_space_90px",因为最外层的的高度即使设置了也是wrap_content的,需要在内层布局中重新确认高度。
在此在说一句,有时我们想要隐藏引入的布局,但是setVisibility(View.GONE)却没有效果,我们可以在嵌套一层布局,给内层的布局设置GONE,这样就能成功隐藏了
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:gravity="center_vertical"
android:layout_height="@dimen/ios_public_space_90px"
android:orientation="horizontal" >
<View
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="1px"
android:layout_marginRight="@dimen/ios_public_space_40px"
android:background="@color/pub_color_eighteen" />
<TextView
android:layout_gravity="center"
android:layout_weight="0"
android:layout_width="wrap_content"
android:gravity="center"
android:text="android"
android:textColor="@color/pub_color_eighteen"
android:textSize="@dimen/ios_public_textsize_24pt" />
<View
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="1px"
android:layout_marginLeft="@dimen/ios_public_space_40px"
android:background="@color/pub_color_eighteen" />
</LinearLayout>
引入这个布局后,我们会发现view绘制出来后高度与预期的是不一样的,并没有想象中的90px,如果想让整个view高度达到90px,可以在textview中加上android:layout_height="@dimen/ios_public_space_90px",因为最外层的的高度即使设置了也是wrap_content的,需要在内层布局中重新确认高度。
在此在说一句,有时我们想要隐藏引入的布局,但是setVisibility(View.GONE)却没有效果,我们可以在嵌套一层布局,给内层的布局设置GONE,这样就能成功隐藏了
相关文章推荐
- 通过代码在FragmentAcivity内变换Fragment遇到的一些问题
- LayoutInflater的inflate函数用法详解
- Android LayoutInflater深度解析
- Android LayoutInflater原理分析,带你一步步深入了解View(一)
- xml文件转化为View的几种方法
- LayoutInflater的使用和参数含义
- inflate() 和 findViewById
- LayoutInflater和inflate的用法,有图有真相
- 解决TPMS灯亮的问题
- 【Android开发经验】LayoutInflater—— 你可能对它并不了解甚至错误使用
- Android - 资源(resource)
- Android中inflate参数的写法:
- Android中inflate方法的用法总结
- inflate用法
- inflate与setcontentview及findviewbyid(一)
- inflate与setcontentview及findviewbyid(二)
- android自定义控件inflate报错view.inflate.exception
- Avoid passing null as the view root (needed to resolve layout parameters on the inflated layout's ro
- findViewById()与Inflate()和setContentView()关系扯谈
- Android之inflate详解