使用xml在android布局中的全宽按钮

时间:2014-07-04 09:49:51

标签: android xml

我想在android中使用xml创建全宽按钮。 这是我的代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/menu"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >


    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="180dp"
        android:layout_height="180dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
        android:src="@drawable/manulogo" />
    <Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawableLeft="@android:drawable/btn_star_big_on"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="220dp"
    android:text="Drawable left" 
    />
</RelativeLayout>

2 个答案:

答案 0 :(得分:3)

如果你想要去除左右两边的16 dp边距,你需要从主相对布局中删除填充属性。

此外,您无法使用相对布局的属性orientation。这是线性布局的。

您应该使用match_parent代替fill_parent来更好地练习:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/menu"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="180dp"
        android:layout_height="180dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
        android:src="@drawable/ic_launcher" />

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="220dp"
        android:drawableLeft="@android:drawable/btn_star_big_on"
        android:text="Drawable left" />

</RelativeLayout>

此修改后的代码工作正常。

输出:

enter image description here

答案 1 :(得分:0)

你已经这样做了

android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"

父布局有左右填充,因此将其删除,Button将全屏

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="@drawable/menu"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >

     <ImageView
        android:id="@+id/imageView2"
        android:layout_width="180dp"
        android:layout_height="180dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
        android:src="@drawable/manulogo" />
      <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:drawableLeft="@android:drawable/btn_star_big_on"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="220dp"
        android:text="Drawable left" 
      />
</RelativeLayout>