【发布时间】:2015-12-16 19:16:21
【问题描述】:
在我正在设计的按钮中,我需要创建一个按钮,通知用户他们将移动应用程序离开应用程序的网页。
我想在按钮中有一个表示导出和文本的图像。
我在 xcode 中完成了这个。是否可以在 Android Studio 中执行此操作?
【问题讨论】:
标签: image button android-studio
在我正在设计的按钮中,我需要创建一个按钮,通知用户他们将移动应用程序离开应用程序的网页。
我想在按钮中有一个表示导出和文本的图像。
我在 xcode 中完成了这个。是否可以在 Android Studio 中执行此操作?
【问题讨论】:
标签: image button android-studio
Button 类扩展了 TextView 类,该类具有称为 Compound Drawables 的功能。这是一个可以放置在文本两侧的可绘制对象:在右侧/左侧/顶部/底部。示例:
<Button
android:text="@string/example"
android:drawableLeft="@drawable/btn_example"
android:drawablePadding="5dp" />
我想这就是你要找的。p>
编辑:当您别无选择时,必须仅考虑 Jim 的 solution。谷歌反对这种方法,更多信息可以找到here。简而言之:您拥有的布局/视图越多,实现的性能就越慢。 Android Studio 甚至会在 xml 编辑器中向您显示警告,说您应该尽可能使用复合可绘制对象,并且仅在不得已的情况下使用 ImageView+TextView bundle。
【讨论】:
在 Android 中,您可以让任何 Layout 捕获 onClick 事件。因此,您可以使用LinearLayout 或RelativeLayout 并在其中放入TextView 和ImageView。使用适当的格式、图像等,此布局将显示为一个按钮。
此外,如果您希望“按钮”在“按下”“聚焦”等时发生变化,您将需要查看 selector。
【讨论】:
CompoundDrawables 建议也是一个不错的建议,但它有一些限制,您可能会发现不适用于您的用例。出于这个原因,我通常会避免它。