我可以在Android中使用50%而不是50px吗?

时间:2012-10-22 20:04:39

标签: android android-layout

我遇到这种情况:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
android:layout_width="fill_parent"  
android:layout_height="fill_parent"  
>  



<ImageButton android:id="@+id/btn1"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_marginLeft="50px"
    android:layout_marginTop="50px"
    android:clickable="true"  
    android:tag="1"  
    android:background="@drawable/xo" 
/>  



<ImageButton android:id="@+id/btn2"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_marginLeft="120px"
    android:layout_marginTop="50px" 
    android:clickable="true"  
    android:tag="2"  
    android:background="@drawable/xo" 
/>  

<ImageButton android:id="@+id/btn3"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_marginLeft="190px"
    android:layout_marginTop="50px"   
    android:clickable="true"  
    android:tag="3"  
    android:background="@drawable/xo" 
/>  
</RelativeLayout>

我可以使用百分比代替50px吗?如果是,语法是怎样的? 我有这3个按钮,想要显示在页面中间。 我希望一个接一个,水平对齐。

3 个答案:

答案 0 :(得分:0)

我不知道是否允许百分比,但我知道px /像素通常不受欢迎,因为屏幕分辨率和密度会有所不同。

http://developer.android.com/guide/topics/resources/more-resources.html#Dimension描述了可能对您有用的dp(密度 - 独立像素)。虽然无法帮助你完成百分比。

答案 1 :(得分:0)

不知道百分比我还没有遇到百分比。在android中还有其他测量。我更喜欢你使用dp或sp,从不使用像素,直到非常必要。这是不同尺度之间差异的链接。

What is the difference between "px", "dp", "dip" and "sp" on Android?

答案 2 :(得分:0)

您需要android:layout_centerVertical="true",而不是layout_marginTop的百分比。

我为此修改你的xml。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
>  
<ImageButton android:id="@+id/btn1"  
    android:layout_width="60dp"   
    android:layout_height="80dp"  
    android:layout_marginLeft="50dp"
    android:layout_centerVertical="true"
    android:clickable="true"  
    android:tag="1"  
    android:background="@android:color/darker_gray" 
/>  
<ImageButton android:id="@+id/btn2"  
    android:layout_width="60dp"   
    android:layout_height="80dp"
    android:layout_toRightOf="@+id/btn1"
    android:layout_alignTop="@+id/btn1"
    android:layout_marginLeft="10dp" 
    android:clickable="true"  
    android:tag="2"  
    android:background="@android:color/darker_gray" 
/>  
<ImageButton android:id="@+id/btn3"  
    android:layout_width="60dp"   
    android:layout_height="80dp"
    android:layout_toRightOf="@+id/btn2"
    android:layout_alignTop="@+id/btn2"
    android:layout_marginLeft="10dp"  
    android:clickable="true"  
    android:tag="3"  
    android:background="@android:color/darker_gray" 
/>  
</RelativeLayout>

与你的左边btn1对齐。

如果您希望将btn2放在中心位置,请使用android:layout_centerInParent="true"

让btn1和btn3对齐。