我的应用程序快完成了,我遇到了一个巨大的错误。正如标题所说;我刚刚在 Galaxy Nexus 上测试了我的应用程序。比我迄今为止测试我的应用程序的屏幕更大。欲望高清。该应用在 DesireHD 上看起来不错,但在 GNexus 上却很糟糕。
这就是我的意思:Desire HD screenshot和GNexus screenshot
我已经为每个文件夹 -hdpi -xhdpi 等创建了图像。我按照开发指南中的 3:4:6:8 比例正确创建它们。它肯定是从 xhdpi 获取图像。我可以这么说,因为关于我们和反馈 ImageViews 改变了设计。
一切都有一个 ImageView,我应该提一下。我不知道为什么他们没有正确显示。我尝试在 layout-xlarge 中创建 main.xml,然后在 layout-sw360dp 中创建,但都没有解决问题。事情看起来真的很不合适。考虑到它正在拾取 xhdpi 图像,我不知道为什么它们不能正确缩放。如果需要,我会发布我的 XML。我已经回到只有一个 res-layout 文件夹,因为它似乎没有任何区别。
不妨现在添加我的 XML:我们开始吧,http ://pastebin.com/PkzSDxxw - 我已经用上面的屏幕截图对其进行了颜色编码。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:background="@color/mainback">
<!-- Title contains application info and content starts immediately below. -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- red -->
<ImageView
android:id="@+id/ColourTitle"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:src="@drawable/main_colourtitle"
android:contentDescription="@string/ContentDescColourTitle"/>
<!-- blue -->
<ImageView
android:id="@+id/PastSeason"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_below="@id/ColourTitle"
android:contentDescription="@string/ContentDescHistory"
android:layout_marginBottom="12dp"
android:layout_marginTop="12dp"
android:onClick="PastSeason"
android:src="@drawable/main_history"/>
<!-- green first row -->
<LinearLayout
android:id="@+id/DriveCurrent"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_below="@id/PastSeason"
android:gravity="center"
android:layout_marginTop="7dp">
<ImageView
android:id="@+id/Drivers"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:onClick="F1Drivers"
android:src="@drawable/main_driver"
android:contentDescription="@string/ContentDescDriver"
android:layout_marginRight="30dp"/>
<ImageView
android:id="@+id/CurrentF1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:onClick="CurrentSeason"
android:src="@drawable/main_currentseason"
android:contentDescription="@string/ContentDescCurrentF1"
android:layout_marginLeft="15dp"/>
</LinearLayout>
<!-- green 2nd line -->
<LinearLayout
android:layout_below="@id/DriveCurrent"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center"
android:layout_marginTop="10dp"
android:id="@+id/TeamDriverRecord">
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/main_driver_record"
android:contentDescription="@string/ContentDescDriverRecord"
android:layout_marginRight="30dp"
android:onClick="DriverRecord"/>
<ImageView
android:id="@+id/teamrecord"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/main_team_record"
android:contentDescription="@string/ContentDescTeamRecord"
android:layout_marginLeft="15dp"
android:onClick="TeamRecord"/>
</LinearLayout>
<!-- faq aboutus feedback -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@id/TeamDriverRecord">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/main_faq"
android:contentDescription="@string/ContentDescFAQ"
android:onClick="FAQPage">
</ImageView>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/main_feedback"
android:contentDescription="@string/ContentDescFeedback"
android:onClick="FeedbackPage">
</ImageView>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/ContentDescAboutUs"
android:src="@drawable/main_aboutus"
android:onClick="AboutUs">
</ImageView>
</LinearLayout>
</RelativeLayout>
</ScrollView>
我真的可以得到一些帮助,这让我发疯,我以为我已经涵盖了所有内容。:( 谢谢。
编辑:在 Eclipse 中,当在 XML 编码旁边的“图形布局”选项卡中选择不同的屏幕尺寸时,它不会正确缩放任何大于 4 英寸的屏幕的图像。如果我选择 Nexus S 则显示它可以正常缩放。下一个是 GNexus,然后你会遇到同样的问题。ImageViews 不会按比例放大以满足更大的屏幕尺寸。