如何确定多个屏幕的图像大小应该是多少?

时间:2011-07-31 19:05:12

标签: android android-layout

我仍然对如何重新调整大小以适应Android手机上的小型,普通和大屏幕感到困惑。

假设我的图像是500px乘500px并且是JPG。

我想制作4个图像按钮,使其在屏幕中央显示为2 x 2。为简单起见,假设我对所有4个按钮都使用相同的图像。

现在我如何计算出为每个屏幕调整图像尺寸需要多少?

所以它在视图的中心看起来像这样。

x   x

x   x

2 个答案:

答案 0 :(得分:1)

您是否在Android开发指南中查看了Supporting Multiple Screens

答案 1 :(得分:1)

我认为你想要一个9-patch drawable(* .9.png)。它们允许您制作可伸缩图形并声明内容填充区域。 Android的股票按钮使用它们。

http://developer.android.com/guide/developing/tools/draw9patch.html

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

对于按钮,您可能希望根据它们所处的状态进行更改。您可以使用StateList drawables。

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

以下是我的某个应用程序中用于呈现操作栏按钮的按钮StateList的示例。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/slight_white" /> <!-- pressed -->
    <item android:state_focused="true" android:drawable="@android:color/transparent" /> <!-- focused -->
    <item android:drawable="@android:color/transparent" /> <!--menu_normal default -->
</selector>

在这种情况下,我使用颜色,但你当然可以用任何drawable替换它。包括你制作的9个补丁画面。

有关完整的示例,请查看SDK附带的源代码。

%ANDROID_SDK_ROOT%\平台\机器人-12 \数据\ RES \抽拉\ btn_default.xml