我是android新手。我试图在屏幕底部放置5个图标。我创建了不同分辨率的图标,即ldpi,mdpi,hdpi,xhdpi和xxhdpi。我使用以下布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/gameRootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
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="com.xx.drops.MainActivity" >
<RelativeLayout
android:id="@+id/bucketLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginLeft="0dp"
android:layout_marginBottom="25dp" >
</RelativeLayout>
</RelativeLayout>
我将图标以编程方式添加到子相对布局中。但是在屏幕较小的设备上,如图所示,我遇到了问题。 在具有屏幕480 * 854的设备中,大小(96 * 96)的hdpi图标正在加载但正在屏幕外。根据我的理解,如果我可以在适当大小的屏幕上工作并提供其他分辨率的图标,则应该自动处理。如果我错了,请纠正我。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
因为,每种设备类型mdpi,hdpi,xhdpi都有许多不同的屏幕尺寸
因此,我的建议是:
如果以编程方式将图像添加到布局,则应计算屏幕宽度,然后按screenwidth / 5设置每个图像视图的宽度和高度
答案 1 :(得分:1)
您需要首先计算屏幕宽度,然后将每个ImageView的宽度设置为屏幕宽度/ 5,如下所示:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int screenWidth = size.x;
int iconWidth = (int) screenWidth / 5;
然后将每个ImageView的宽度设置为iconWidth。