所以我一直在构建Android应用程序,并在实际在虚拟或真实设备中测试之前编写了大量代码。我第一次测试它是在Nexus One虚拟设备中。它运行正常。问题是,从那时起,应用程序启动的Nexus One在每个其他设备中都具有完全相同的分辨率,无论是否为虚拟设备。我尝试在Nexus 4(VD),Nexus 7 2013和2012(VD)以及真正的设备Acer Iconia A1-830上推出它。视图和ActionBar都显得“缩放”,好像它是用Nexus One分辨率填充屏幕,我不知道为什么会发生这种情况,或者我可以改变那个设置(如果有的话)。 在Nexus One中运行的应用程序的屏幕截图:
在Nexus 4中运行的应用程序的屏幕截图(类似于7和真实设备中它更加引人注目):
当然,在这些屏幕截图中看起来并没有什么不同,但它的缩放是错误的。
我的MainActivity布局xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.tinkerstudio.todolist.gui.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_insert_todo_txt"
android:id="@+id/btn_insert_todo"
android:onClick="insertTODOBtnClicked"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listview_todo_list"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/btn_insert_todo" />
</RelativeLayout>
dimens.xml都是默认设置
w820dp:
<resources>
<!-- Example customization of dimensions originally defined in res/values/dimens.xml
(such as screen margins) for screens with more than 820dp of available width. This
would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
<dimen name="activity_horizontal_margin">64dp</dimen>
</resources>
“常规”:
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
我该如何解决这个问题?
答案 0 :(得分:1)
虽然没有报道,但这似乎是Android Studio中的一个错误 重建项目解决了这个问题。