我刚开始使用Eclipse和ADT创建Android应用程序 我已经在演示应用程序中使用了基本功能,并且想要创建一个看起来像搜索字段的按钮(内置没有搜索功能,我只是希望用户按下它并开始一个新活动)。 / p>
我的问题是:创建如上所示的按钮的最佳做法是什么(忽略外围的1px深灰色笔触)?
我到目前为止
在activity_main.xml
中创建按钮<Button
android:id="@+id/inputSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:hint="@string/hint_search"
android:background="@drawable/input_search"
style="@style/input_search"
android:onClick="findProducts" >
</Button>
创建几个样式
<style name="input_search" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/light_grey</item>
<item name="android:background">@color/white</item>
</style>
创建input_search_background.xml,它具有浅灰色笔触,圆角
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke
android:width="@dimen/stroke_width" android:color="@color/light_grey" />
<corners
android:radius="@dimen/corner_radius" />
<solid
android:color="@color/white" />
</shape>
为州创建input_search.xml。
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/input_search_background"
android:state_pressed="true" />
<item android:drawable="@drawable/input_search_background"
android:state_focused="true" />
<item android:drawable="@drawable/input_search_background" />
</selector>
我不知道如何在右边创建橙色块。我应该定义一个橙色的形状,并使用透明的png作为放大镜,还是png应该是带有放大镜的橙色块?
您使用哪些工具来创建资产? 我怎么知道创造它们有多大?
我会感激任何可以提供帮助的智慧或链接。
谢谢,
安德鲁
答案 0 :(得分:2)
您只需使用9 patch即可。
您可以在sdk平台图片中找到类似的:
在Windows中(安装路径可能会更改),
C:\Program Files\adt-bundle-windows-x86_64-20130522\sdk\platforms\android-8\data\res\drawable-mdpi
你可以找到:
通过一些(非常少的)工作,您可以制作出符合您需求的完美图像 只需将其添加为Button的背景(我使用TextView,但这是一个品味问题)并享受。
你看,不需要自定义样式,也不需要额外的xml drawable。