我遇到了为Android按钮属性分配的负值,如下所示。
android:layout_marginTop="-37px"
有谁知道这到底意味着什么...?提前致谢...
最佳答案
负边距可用于使视图在放置时对布局管理器来说更小。
因此,例如,假设一个视图的高度为h
,marginTop为-m
。放置此视图后,管理人员将认为视图的顶部为-m
而不是0
。在线性布局的情况下(假设垂直布局),这将导致视图呈现在前一个视图之上。
您可以在下面的示例中看到此情况,因为减小了textView2的上边距,它会覆盖在textView1上。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-15dp"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
不管这是否是指定的行为,我都不确定100%。罗曼·盖伊(Romain Guy)在此post中提到您可以使用负边距,但是在Google网上论坛的post中,他提到未指定负边距行为。