我将48*48
,72*72
和96*96
的图片分别添加到mdpi
,ldpi
和hdpi
。
并在AndroidManifest.xml
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>
第一个问题:
当我执行上述操作时,应用程序会自动捕获合适的图片吗?
第二个问题:
但是如何在xml
文件中设置按钮?
如果应用会自行捕捉合适的图片,那么我将width
和height
设置为match_parent
,如下所示?
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@android:drawable/btn1" />
提前致谢。
------------------------------- EDIT ------------ ----------------
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical"
android:background="#000000"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageButton
android:id="@+id/FileButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_alignParentLeft="true"
android:src="@drawable/file_viewer"/>
<ImageButton
android:id="@+id/recordButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_centerInParent="true"
android:src="@drawable/record" />
<ImageButton
android:id="@+id/photo_record_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_alignParentRight="true"
android:src="@drawable/recordmode"/>
</RelativeLayout>
</LinearLayout>
我修改了上面的代码。
我将APP安装到不同尺寸的设备上,适用于4.7英寸和7英寸。
但它似乎使用相同大小的图片。
我从android:background
更改为android:src
。
如下图所示
有没有错误?
答案 0 :(得分:1)
是的,Android会根据屏幕密度在运行时选择正确的图像资源。但是,您应该将layout_width
和layout_height
设置为wrap_content
而不是match_parent
。
答案 1 :(得分:0)
该应用会根据设备规格自动从相应的文件夹中获取资源。其次,即使您的图像视图设置为匹配父级,图像也不会填充父级,因为您已设置src属性而不是背景。如果您希望imageView的图像填充父级,请将图像按钮声明更改为:
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:drawable/btn1" />
如果您希望它采用原始尺寸,请按照以下步骤操作:
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/btn1" />