这是一个示例布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:text="@string/hello_world" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
在手机(480x800)和平板电脑(1280x800)上,布局从图像视图到底部留有不同的空间。平板电脑上没有缩放图像,dp值会产生相对相同的物理值。
是否有方法/工具可以保存平板电脑的手机比例,以便缩小图像,空间(dp)?我想,我可以使用values-xlarge / dimen.xml,values-720dp / dimen.xml,但这需要很多机械工作。有更好的解决方案吗?
答案 0 :(得分:0)
试试这个:
<LinearLayout
:
:
android:focusable="true"
:
/>
答案 1 :(得分:0)
如果要调整ImageView的缩放比例 添加
android:scaleType="fitXY"
以下是ImageView Scale类型 http://developer.android.com/reference/android/widget/ImageView.ScaleType.html
答案 2 :(得分:0)
如果你希望你的应用程序大2倍大(所有尺寸和字体大小x2)大2倍的显示,你可以手动改变显示密度(减少一半)。 Android不会介意,并将像往常一样工作。当我希望我的应用程序相同并且仅根据屏幕大小改变比例时,我使用此trik。阅读Configuration / DisplayMetrics / updateConfiguration。这是您应该在activity的onCreate中运行的草稿代码。我稍后会给你准确的代码。
DisplayMetrics dm = context.getResources().getDisplayMetrics();
// fix display density here to scale all activity's dimentions
context.getResources().updateConfiguration(null, dm);
但它不是正确的android方式。您应该使用适当的资源文件夹为不同的屏幕尺寸提供不同的资源。