为Android Button属性指定负值

时间:2012-01-31 15:54:05

标签: android android-layout android-widget

我遇到了为Android按钮属性分配的负值,如下所示。

android:layout_marginTop="-37px"

有没有人知道这究竟是什么意思...... ???提前谢谢......

1 个答案:

答案 0 :(得分:4)

可以使用负边距使布局管理器在放置时显示较小的视图。

因此,例如,想象一个高度为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%肯定。在此post中,Romain Guy提到您可以使用负边距,但是在Google网上论坛的post中,他提到负边距行为未指定。