为什么Android坚持要按我的按钮?

时间:2014-06-20 16:41:01

标签: android android-layout

我有一个漂亮的漂亮的facebook按钮图片:

My Regular Facebook Login Button

但我的Android布局一直在压制它:

enter image description here

有人可以帮忙,请看一下我的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/tagline"
        android:layout_centerHorizontal="true"
        android:layout_margin="10dp"
        android:contentDescription="@string/app_description"
        android:src="@drawable/logo" />

    <TextView
        android:id="@id/tagline"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="@string/tagline"
        android:textSize="22sp" />

    <Button
        android:id="@+id/loginButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/tagline"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:background="@drawable/login_button_normal"
        android:text="@string/login"
        android:textStyle="bold" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

您正在使用内置文字的Button。属性android:layout_width="wrap_content"适用于文本的宽度,而不适用于可绘制背景的宽度。

你可以:

  • 将文本整合到.png文件中。

  • 使用9-patch

  • 创建一个drawable来定义蓝色圆角矩形并创建一个只有白色&f 39的图像。与垂直线。然后你可以使用TextView里面的drawable:

     <TextView
         ...
         android:text="Log in"
         android:drawableLeft="{Your image (white f)}"
         android:background="{Your drawable (blue background)}"
         ... />
    

答案 1 :(得分:0)

这是因为您要为按钮设置背景:

android:background="@drawable/login_button_normal"

android:background不保留图像的宽高比。尝试给出一些大文本,然后你可能会开始想知道为什么它会被放大。同样为了您的目的,首选9-patch png。