导入eclipse时为什么图像会发生变化?

时间:2014-03-12 17:05:55

标签: java android eclipse image png

首先,我应该说我对Android完全陌生,所以也许我的问题很普通。

问题:我在Photoshop中设计了以下图片(png-24,透明背景) enter image description here

并将其添加到我的项目中的res/drawable,以将其用作ImageButton的来源,但它看起来像这样:
enter image description here
如您所见,圆形形状已完全改变,并且图像中添加了灰色背景。 告诉我该如何解决此问题?我使用此图像的方式是错误的还是图像格式还是其他一些东西?

修改:我刚刚调整了图片(简单的png),因为我已添加到我的帖子中,突然出现图像的一角,不是因为尺寸或类似的东西?

enter image description here

这是包含活动的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bg"
    android:orientation="vertical"
    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" >

    <ImageButton
        android:id="@+id/showHistBtn"
        android:src="@drawable/showhistory" />

    <ImageButton
        android:id="@+id/findWordBtn"
        android:src="@drawable/find_aword" />

    <ImageButton
        android:id="@+id/insertNewWordBtn"
        android:layout_width="315dp"
        android:layout_height="200dp"
        android:src="@drawable/insertnewword" />

</LinearLayout>

3 个答案:

答案 0 :(得分:1)

您只需绘制一个9-patch图片,其中Photoshop绘制阴影并将其放入drawable文件夹,并将其设置在ImageButton xml中:

android:background="@drawable/your_9patch_image"

我总是通过使用Photoshop来实现它,它非常简单。有关详细信息,请参阅:Draw 9-patch

答案 1 :(得分:1)

经过我们在评论中的长时间讨论,看看9补丁可以做什么(只是为了让你了解你只用1张图片可以实现的目标):

使用此图片(/res/drawable/my_btn.9.png):

enter image description here

我得到了这个结果

enter image description here

你会注意到文字没有很好地集中在一起:这是因为我很匆忙,并没有让它变得完美(在调整大小和黑色边界时为9补丁)。
并且起始图像不是高质量的。

我使用的是16sp字体,可能你会使用32sp甚至更大的字体。

注意:请注意扩展名:.9. png

答案 2 :(得分:1)

我刚将这些添加到活动布局xml文件中的ImageButton标记中并修复了:)

android:scaleType="fitXY"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="0dp"

我完全凭直觉找到了答案,但经过反复试验发现上述陈述都不会被忽略(对于未来的观众)。