码迷,mamicode.com
首页 > 其他好文 > 详细

解决EditText不能撑满全屏的问题及EditText你应该知道的属性

时间:2016-03-24 12:54:07      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

一般我们要实现去下图一的效果很简单:
两个EditText就搞定
效果图一:
技术分享

但是我们想让第二个EditText撑满剩余空间怎么做?如效果图二
效果图二:
技术分享
解决:

使用了ScrollView嵌套LinearLayout,将ScrollView中android:fillViewport设置为true。

分析:

当ScrollView里的元素想填满ScrollView时,使用"fill_parent"是不管用的,必需为ScrollView设置:android:fillViewport="true"。

当ScrollView没有fillVeewport=“true”时, 里面的元素(比如LinearLayout)会按照wrap_content来计算(不论它是否设了"fill_parent"),而如果 LinearLayout的元素设置了fill_parent,那么也是不管用的,因为LinearLayout依赖里面的元素,而里面的元素又依赖 LinearLayout,这样自相矛盾.所以里面元素设置了fill_parent,也会当做wrap_content来计算.




代码如下,注释了常用的EditText属性:
  1. <ScrollView
  2. android:layout_width="match_parent"
  3. android:layout_height="0dp"
  4. android:layout_weight="1"
  5. android:fillViewport="true">    //*******************关键处********
  6. <LinearLayout
  7. android:layout_width="match_parent"
  8. android:layout_height="match_parent"
  9. android:orientation="vertical">
  10. <EditText
  11. android:id="@+id/edit_title"
  12. android:layout_width="match_parent"
  13. android:layout_height="wrap_content"
  14. android:layout_gravity="center|left"
  15. android:layout_marginLeft="16dp"
  16. android:layout_marginRight="16dp"
  17. android:background="@null"    //控件背景,这里没有,指透明
  18. android:ellipsize="end"    //自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示时
  19. android:hint="添加标题"
  20. android:paddingBottom="10dp"
  21. android:paddingTop="10dp"
  22. android:singleLine="true"    //强制输入的内容在单行
  23. android:textColorHint="#bfbfbf" />
  24. <LinearLayout
  25. android:layout_width="match_parent"
  26. android:layout_height="2dp"
  27. android:layout_marginLeft="10dp"
  28. android:layout_marginRight="10dp"
  29. android:background="@drawable/dotted_line"
  30. android:layerType="software" />
  31. <RelativeLayout
  32. android:layout_width="match_parent"
  33. android:layout_height="0dp"
  34. android:layout_weight="1">
  35. <EditText
  36. android:id="@+id/edit_content"
  37. android:layout_width="match_parent"
  38. android:layout_height="match_parent"
  39. android:layout_marginLeft="16dp"
  40. android:layout_marginRight="16dp"
  41. android:layout_marginTop="16dp"
  42. android:gravity="left|top"     //输入时光标在左上角
  43. android:hint="内容"
  44. android:lineSpacingExtra="4.6dp"    //设置行间距
  45. android:scrollbars="vertical"    // 设置滚动条显示
  46. android:textColorHint="#bfbfbf"
  47. android:textSize="16sp" />
  48. </RelativeLayout>
  49. <!--
  50. android:background="@null"    //去掉EditView的边框
  51. android:inputType="textMultiLine"    //可以显示多行
  52. android:minLines="6"    // 设置文本的最小行数
  53. -->
  54. </LinearLayout>
  55. </ScrollView>








解决EditText不能撑满全屏的问题及EditText你应该知道的属性

标签:

原文地址:http://www.cnblogs.com/yjing0508/p/5314938.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!