防止Android UI缩放

时间:2011-04-09 14:36:00

标签: android xml user-interface imageview scale

基本上我在线性布局中有一系列的图像视图。我已经将每个imageviews布局宽度和布局高度属性分别设置为100dp和50dp(我也尝试过px而不是dp,我尝试更改图像视图最大尺寸)但是图像视图继续扩展而不是停留在这个固定的大小。

我只是想知道是否有人知道我做错了什么?

XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:orientation="vertical" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:background="@drawable/backgroundtop" android:gravity="bottom">
    <FrameLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/frameLayout1">
        <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView3" android:src="@drawable/base" android:layout_gravity="center"></ImageView>
        <LinearLayout android:id="@+id/linearLayout1" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center" android:paddingTop="50px" android:layout_width="match_parent">
            <ImageView android:src="@drawable/buttonnews" android:id="@+id/imageView1" android:layout_width="123dp" android:layout_height="49dp" android:scaleType="center"></ImageView>
            <ImageView android:id="@+id/imageView2" android:layout_width="163dp" android:layout_height="49dp" android:src="@drawable/buttonevents"></ImageView>
        </LinearLayout>
    </FrameLayout> 
</LinearLayout> 

2 个答案:

答案 0 :(得分:0)

您是否尝试将ImageView的scaleType设置为fitCenter?

答案 1 :(得分:0)

android支持的测量单位可以是:

<强> PX
像素 - 对应于屏幕上的实际像素。

<强>在
英寸 - 基于屏幕的物理尺寸。

<强>毫米
毫米 - 基于屏幕的物理尺寸。

<强> PT
点数 - 基于屏幕物理尺寸的1/72英寸。

<强> DP
密度无关像素 - 一种基于屏幕物理密度的抽象单元。这些单位相对于160 dpi的屏幕,因此一个dp是160 dpi屏幕上的一个像素。 dp-to-pixel的比例将随屏幕密度而变化,但不一定直接;相反,选择的比例是靠近屏幕的。

<强>属
与比例无关的像素 - 这与dp单位类似,但它也可以根据用户的字体大小首选项进行缩放。建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好调整它们。