首先,我应该说我对Android完全陌生,所以也许我的问题很普通。
问题:我在Photoshop
中设计了以下图片(png-24,透明背景)
并将其添加到我的项目中的res/drawable
,以将其用作ImageButton
的来源,但它看起来像这样:
如您所见,圆形形状已完全改变,并且图像中添加了灰色背景。
请告诉我该如何解决此问题?我使用此图像的方式是错误的还是图像格式还是其他一些东西?
修改:我刚刚调整了图片(简单的png),因为我已添加到我的帖子中,突然出现图像的一角,不是因为尺寸或类似的东西?
这是包含活动的布局:
<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>
答案 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):
我得到了这个结果
你会注意到文字没有很好地集中在一起:这是因为我很匆忙,并没有让它变得完美(在调整大小和黑色边界时为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"
我完全凭直觉找到了答案,但经过反复试验发现上述陈述都不会被忽略(对于未来的观众)。