ata*_*ulm 33 android android-layout
<TextView
android:layout_width="match_parent"
android:layout_height="48dp"
android:paddingTop="48dp"
android:text="Test"
/>
Run Code Online (Sandbox Code Playgroud)
我希望TextView的测量高度为96dp,无论"测试"占用多少空间(高度方面)(预计它会被切断).
相反,我得到填充的完整"测试"+ 48dp.
我可以为任何有效值设置layout_height并获得相同的结果.
要获得96dp的高度,我需要:
<TextView
android:layout_width="match_parent"
android:layout_height="<any valid value>"
android:height="48dp"
android:paddingTop="48dp"
android:text="Test"
/>
Run Code Online (Sandbox Code Playgroud)
再次,我可以把layout_height任何有效值(但它需要作为必需属性).
我从来没有height在XML中使用过这个属性,但是我找不到文档中的差异,特别是当它运行的元素也为padding和/或margin设置值时,每个算法的计算方式.
有没有可用的资源可以讨论它,或者有人可以在这里解释一下吗?
这可能是我使用它的情况,这导致了一个问题,所以我的上面的例子可以被忽略(我尝试了一个新的项目,并从属性的组合得到不同的结果).
但我原来的问题仍然适用(有些重叠):
编辑2(旁边):
如果它与新项目相比有助于了解我的初始情况:
我有一个设置windowActionBarOverlay为true 的活动,所以我的内容在(半透明的)ActionBar下流动.
我也使用Croutons,它现在出现在ActionBar下面.Ben Weiss建议我将Crouton附加到另一个ViewGroup,但我不确定将哪个ViewGroup附加到它.
相反,我提供了一个自定义视图(在需要时膨胀)作为Crouton(来自问题第一部分的TextView),其顶部填充等于ActionBar的顶部填充,所以现在它在ActionBar的垂直下方显示为正常(另一天有其他问题).
Mar*_*tin 23
所有以»layout_«开头的属性都是视图所属ViewGroup的提示.为此,每个都有一组LayoutParams.小部件本身不使用它们.android.view.ViewGroup
的android:height参数是初始的尺寸android.view.View.但是如果视图是其中的一部分ViewGroup,ViewGroup则会根据其布局规则调整对象的大小.
BTW:更新的API有一个新的android:minHeight和android:maxHeight属性,以澄清程序员的意图.
请注意,如果未设置android:height视图,则会计算大小本身.大部分时间做什么都是正确的.
ViewGroup 是抽象的 - 这个问题的答案取决于您使用的实际子类.
注意WRAP_CONTENT告诉ViewGroup使用android:height.这意味着这是您的示例中使用的正确参数.
是的 - 并递归.TableLayout将读取和写入android:width属性以找出最宽的对象并调整所有其他对象的大小.
不,android:padding但是是的android:layout_margin.请注意,边距是布局参数,并非每个布局管理器都支持边距.
有关详细信息,请参阅margin vs padding.
将所有宽度和高度属性视为仅提示更容易.对象大小的最终说法具有使用的布局管理器ViewGroup.
| 归档时间: |
|
| 查看次数: |
10440 次 |
| 最近记录: |