图像不会在600dp的Android设备中调整大小

时间:2015-07-22 05:09:30

标签: android android-layout

您好我尝试为所有设备分辨率制作我的主页,为此我使用布局小,布局正常,布局大,它可以正常设备,但是当设备分辨率变高时会出现问题。我发布了一些在那里发生的事情的图像:

具有全高清分辨率的7英寸设备:

enter image description here

7英寸设备,480 * 800分辨率: enter image description here

你在FullHD中看到按钮没有缩放我现在为他们发布我的xmls:  注意:在fullHD中,您可以在绿色标题下看到600dpi的白板,它显示它使用layout-sw600dp和xml代码进行此布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout  android:gravity="center_horizontal|bottom" xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/main_logo_back_draw" >

    <FrameLayout 
        android:layout_width="match_parent"
        android:layout_height="110dp"
        android:background="@drawable/title_background_main" >

        <LinearLayout 
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:gravity="center|left"
             >

            <Button
                android:id="@+id/btn_refresh"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="25dp"
                android:background="@drawable/refresh_main_icon" />

            <Button
                android:id="@+id/img_notification"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="20dp"
                android:text=""
                android:textSize="9sp"
                android:gravity="top|right"
                android:background="@drawable/notification_main_icon" />

            <Button
                android:id="@+id/btn_textsize"
                android:layout_width="20dp"
                android:layout_height="15dp"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="20dp"
                android:background="@drawable/fontsize_main_icon" />

        </LinearLayout>

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_gravity="center"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="25dp"
            android:src="@drawable/logo_main_icon" />

    </FrameLayout>

    <LinearLayout  android:gravity="center_horizontal|bottom"
        android:layout_width="match_parent"
        android:layout_height="5dp"
        android:layout_marginTop="4dp"
        android:orientation="vertical"
        android:background="#c8c8c8"
        android:alpha="0.6" >
    </LinearLayout>

    <LinearLayout  
        android:layout_width="wrap_content"
        android:layout_height="35dp"
        android:layout_marginTop="10dp"
        android:orientation="horizontal"
        android:layout_gravity="center"
        android:gravity="right"
        android:background="@drawable/time_date_main_draw" >

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="15dp"
            android:layout_height="15dp"
            android:layout_gravity="center"
            android:layout_marginLeft="5dp"
            android:src="@drawable/calender_logo_main_icon" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:text="Date: "
            android:textSize="8sp"
            android:layout_gravity="center" />

        <TextView
            android:id="@+id/btn_date_milady"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="####/##/##"
            android:textSize="8sp" 
            android:layout_gravity="center"/>

        <LinearLayout  
            android:layout_gravity="center"
            android:layout_width="0.5dip"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="8dp"
            android:background="#d7d7d7"  >
        </LinearLayout>

        <TextView
            android:id="@+id/btn_date_shamsi"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="####/##/##"
            android:textSize="8sp" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="600dpi "
            android:textColor="#aaaaaa"
            android:textSize="10sp"
            android:layout_marginRight="5dp"
            android:layout_gravity="center" />

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="15dp"
            android:layout_height="15dp"
            android:layout_gravity="center"
            android:layout_marginRight="5dp"
            android:src="@drawable/calender_logo_main_icon" />

        <LinearLayout  
            android:layout_width="0.5dip"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="8dp"
            android:background="#d7d7d7" >
        </LinearLayout>

        <DigitalClock
            android:id="@+id/digitalClock1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:textSize="8sp" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ساعت: "
            android:textColor="#aaaaaa"
            android:textSize="8sp"
            android:layout_marginRight="5dp"
            android:layout_gravity="center" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="15dp"
            android:layout_height="15dp"
            android:layout_gravity="center"
            android:layout_marginRight="3dp"
            android:src="@drawable/clock_logo_main_icon" />

    </LinearLayout>

    <LinearLayout  android:gravity="center_horizontal|bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:layout_weight="2"
        android:background="@drawable/dock_hold_main_icon" >

        <ImageView
            android:id="@+id/btn_oghatshari"
            android:layout_width="200dp"
            android:layout_height="200dp"

            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="fitXY"
            android:paddingBottom="10dp"
            android:src="@drawable/pray_main_icon" />

        <ImageView
            android:id="@+id/btn_abohava"
            android:layout_width="200dp"
            android:layout_height="200dp"

            android:paddingLeft="2dp"
            android:paddingRight="2dp"

            android:scaleType="fitXY"
            android:paddingBottom="10dp"
            android:src="@drawable/air_main_icon" />

        <ImageView
            android:id="@+id/btn_about"
            android:layout_width="200dp"
            android:layout_height="200dp"

            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="fitXY"
            android:paddingBottom="10dp"
            android:src="@drawable/info_main" />

        <ImageView
            android:id="@+id/btn_map"
            android:layout_width="200dp"
            android:layout_height="200dp"

            android:paddingBottom="10dp"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"

            android:scaleType="fitXY"
            android:src="@drawable/map_main_icon" />

    </LinearLayout>

    <LinearLayout  android:gravity="center_horizontal|bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:layout_weight="2"
        android:background="@drawable/dock_hold_main_icon" >

        <ImageView
            android:id="@+id/btn_hire"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/estekhdam_main_icon" />

        <ImageView
            android:id="@+id/btn_second"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/seckala_main_icon" />

        <ImageView
            android:id="@+id/btn_cars"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/car_main_icon" />

        <ImageView
            android:id="@+id/btn_home"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/house_main_icon" />

    </LinearLayout>

    <LinearLayout  android:gravity="center_horizontal|bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:layout_weight="2"
        android:background="@drawable/dock_hold_main_icon" >

        <ImageView
            android:id="@+id/btn_bus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/bus_main_icon" />

        <ImageView
            android:id="@+id/btn_train"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/train_main_icon" />

        <ImageView
            android:id="@+id/btn_airplan"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/airplane_main_icon" />

        <ImageView
            android:id="@+id/btn_ads"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/comericals_main_icon" />

    </LinearLayout>

    <LinearLayout  android:gravity="center_horizontal|bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:layout_weight="2" 
        android:background="@drawable/dock_hold_main_icon">

        <ImageView
            android:id="@+id/btn_contact"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/contact_main_icon" />

        <ImageView
            android:id="@+id/btn_about_us"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/about_main_icon" />

        <ImageView
            android:id="@+id/btn_dlesson"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/digital_question_main_icon" />

        <ImageView
            android:id="@+id/btn_news"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:scaleType="centerInside"
            android:paddingBottom="10dp"
            android:src="@drawable/news_main_icon" />

    </LinearLayout>

</LinearLayout>

所有布局都是相同的代码,除了在此布局中我将尺寸设置为第一列以查看它是否有效但它不是:( 可以任何人告诉我,我错了什么???

编辑:我的项目布局中有所有布局文件夹 - 小,中,大,xlarge ......甚至布局-sw600dp。

enter image description here

2 个答案:

答案 0 :(得分:0)

您是否在<ImageView>尝试了此操作?

android:scaleType = "fitCenter"
android:adjustViewBounds = "true"
是的,我建议你改变你的方法。尝试使用<dimen>更改图像大小,它更易于使用和维护,而不是为每种显示类型创建一个xml文件。

有关详细信息,请参阅this article,此may也可为您提供帮助。

修改

也许您的显示器不符合要求被视为“大”布局,因此Android不会将文件加载到布局大文件夹中,而是放在布局文件夹中,因为它是默认布局文件夹。尝试创建一个名为layout-xlarge的文件夹,看看你是否有任何区别,但我仍然建议你在一个单独的xml文件中使用<dimen>,而不是为每个屏幕大小创建一个布局。有关详细信息,请查看此article for multiple screen support

答案 1 :(得分:0)

您应该为value-sw600dp增加ImageView大小。 在这种情况下,正常值(200dp)和您提供的图像大小将转换为大约100px 您可以像这样设置layout_weight和weightSum:

<LinearLayout  android:gravity="center_horizontal|bottom"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:layout_weight="2"
    android:weightSum="9"
    android:background="@drawable/dock_hold_main_icon" >


    <ImageView
        android:id="@+id/btn_bus"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:paddingLeft="2dp"
        android:paddingRight="2dp"
        android:scaleType="fitCenter"
        android:paddingBottom="10dp"
        android:src="@drawable/bus_main_icon" />
     ....
</LinearLayout>

如上所述的布局可以按宽度尺寸缩放图像。
或者您可以更改为使用GridView或TableLayout

但我认为最好通过代码来计算大小和设置。