您好我尝试为所有设备分辨率制作我的主页,为此我使用布局小,布局正常,布局大,它可以正常设备,但是当设备分辨率变高时会出现问题。我发布了一些在那里发生的事情的图像:
具有全高清分辨率的7英寸设备:
7英寸设备,480 * 800分辨率:
你在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。
答案 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
但我认为最好通过代码来计算大小和设置。