Android Galaxy Nexus是小型、普通、大型还是x大型设备?

Android Galaxy Nexus是小型、普通、大型还是x大型设备?,android,android-layout,Android,Android Layout,我正在开发一个多屏幕Android 2.2.2应用程序 为了测试不同的屏幕大小,我正在使用eclipse(Juno发行版)图形布局。这就是我所拥有的 main_layout.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pare

我正在开发一个多屏幕Android 2.2.2应用程序

为了测试不同的屏幕大小,我正在使用eclipse(Juno发行版)图形布局。这就是我所拥有的

main_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/no_conectado" >

    <TextView
        android:id="@+id/labelSelGateName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/labelSelGateName_marginTop"
        android:gravity="center_horizontal"
        android:textSize="@dimen/labelSelGateName_textsize" />


    <TextView
        android:id="@+id/labelSelOpened"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/labelSelGateName"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/labelSelOpened_marginTop"
        android:gravity="center_horizontal"
        android:textSize="@dimen/labelSelOpened_textsize" />

    <ProgressBar
        android:id="@+id/indicatorActivityView"
        android:layout_width="@dimen/indicatorActivityView_height"
        android:layout_height="@dimen/indicatorActivityView_width"
        android:layout_below="@+id/labelSelOpened"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/indicatorActivityView_marginTop" />

    <ImageButton
        android:id="@+id/btnMyGates"
        android:layout_width="@dimen/btnMyGates_width"
        android:layout_height="@dimen/btnMyGates_height"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/indicatorActivityView"
        android:layout_marginLeft="@dimen/btnMyGates_marginLeft"
        android:layout_marginTop="@dimen/btnMyGates_marginTop"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onGateClick" />

    <ImageButton
        android:id="@+id/btnOpen"
        android:layout_width="@dimen/btnOpen_width"
        android:layout_height="@dimen/btnOpen_height"
        android:layout_alignTop="@+id/btnMyGates"
        android:layout_centerHorizontal="true"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onOpenDoorClick" />


    <ImageButton
        android:id="@+id/btnClose"
        android:layout_width="@dimen/btnClose_width"
        android:layout_height="@dimen/btnClose_height"
        android:layout_alignBottom="@+id/btnMyGates"
        android:layout_alignLeft="@+id/btnOpen"
        android:layout_marginBottom="@dimen/btnClose_marginBottom"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onCloseDoorClick" />

    <ImageButton
        android:id="@+id/btnOptions"
        android:layout_width="@dimen/btnOptions_width"
        android:layout_height="@dimen/btnOptions_height"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/btnMyGates"
        android:layout_marginRight="@dimen/btnOptions_marginRight"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onOptionClick" />

    <ImageButton
        android:id="@+id/btnFaqs"
        android:layout_width="@dimen/btnFaqs_width"
        android:layout_height="@dimen/btnFaqs_height"
        android:layout_marginTop="@dimen/btnFaqs_marginTop"
        android:layout_toLeftOf="@+id/btnOptions"
        android:layout_below="@+id/btnClose"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onFAQClick" />

    <ImageButton
        android:id="@+id/btnInfo"
        android:layout_width="@dimen/btnInfo_width"
        android:layout_height="@dimen/btnInfo_height"
        android:layout_alignLeft="@+id/btnOptions"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="@dimen/btnInfo_marginLeft"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onInfoClick" />

</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="labelSelGateName_marginTop">40dp</dimen>
    <dimen name="labelSelGateName_textsize">14sp</dimen>

    <dimen name="labelSelOpened_marginTop">0dp</dimen>
    <dimen name="labelSelOpened_textsize">14sp</dimen>

    <dimen name="indicatorActivityView_width">20dp</dimen>
    <dimen name="indicatorActivityView_height">20dp</dimen>
    <dimen name="indicatorActivityView_marginTop">28dp</dimen>

    <dimen name="btnMyGates_width">70dp</dimen>
    <dimen name="btnMyGates_height">110dp</dimen>
    <dimen name="btnMyGates_marginLeft">29dp</dimen>
    <dimen name="btnMyGates_marginTop">60dp</dimen>

    <dimen name="btnOpen_width">90dp</dimen>
    <dimen name="btnOpen_height">55dp</dimen>

    <dimen name="btnClose_width">90dp</dimen>
    <dimen name="btnClose_height">50dp</dimen>
    <dimen name="btnClose_marginBottom">0dp</dimen>

    <dimen name="btnOptions_width">70dp</dimen>
    <dimen name="btnOptions_height">110dp</dimen>
    <dimen name="btnOptions_marginRight">30dp</dimen>

    <dimen name="btnFaqs_width">110dp</dimen>
    <dimen name="btnFaqs_height">70dp</dimen>
    <dimen name="btnFaqs_marginTop">10dp</dimen>

    <dimen name="btnInfo_width">110dp</dimen>
    <dimen name="btnInfo_height">60dp</dimen>
    <dimen name="btnInfo_marginLeft">14dp</dimen>
</resources>

dimens.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/no_conectado" >

    <TextView
        android:id="@+id/labelSelGateName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/labelSelGateName_marginTop"
        android:gravity="center_horizontal"
        android:textSize="@dimen/labelSelGateName_textsize" />


    <TextView
        android:id="@+id/labelSelOpened"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/labelSelGateName"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/labelSelOpened_marginTop"
        android:gravity="center_horizontal"
        android:textSize="@dimen/labelSelOpened_textsize" />

    <ProgressBar
        android:id="@+id/indicatorActivityView"
        android:layout_width="@dimen/indicatorActivityView_height"
        android:layout_height="@dimen/indicatorActivityView_width"
        android:layout_below="@+id/labelSelOpened"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/indicatorActivityView_marginTop" />

    <ImageButton
        android:id="@+id/btnMyGates"
        android:layout_width="@dimen/btnMyGates_width"
        android:layout_height="@dimen/btnMyGates_height"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/indicatorActivityView"
        android:layout_marginLeft="@dimen/btnMyGates_marginLeft"
        android:layout_marginTop="@dimen/btnMyGates_marginTop"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onGateClick" />

    <ImageButton
        android:id="@+id/btnOpen"
        android:layout_width="@dimen/btnOpen_width"
        android:layout_height="@dimen/btnOpen_height"
        android:layout_alignTop="@+id/btnMyGates"
        android:layout_centerHorizontal="true"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onOpenDoorClick" />


    <ImageButton
        android:id="@+id/btnClose"
        android:layout_width="@dimen/btnClose_width"
        android:layout_height="@dimen/btnClose_height"
        android:layout_alignBottom="@+id/btnMyGates"
        android:layout_alignLeft="@+id/btnOpen"
        android:layout_marginBottom="@dimen/btnClose_marginBottom"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onCloseDoorClick" />

    <ImageButton
        android:id="@+id/btnOptions"
        android:layout_width="@dimen/btnOptions_width"
        android:layout_height="@dimen/btnOptions_height"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/btnMyGates"
        android:layout_marginRight="@dimen/btnOptions_marginRight"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onOptionClick" />

    <ImageButton
        android:id="@+id/btnFaqs"
        android:layout_width="@dimen/btnFaqs_width"
        android:layout_height="@dimen/btnFaqs_height"
        android:layout_marginTop="@dimen/btnFaqs_marginTop"
        android:layout_toLeftOf="@+id/btnOptions"
        android:layout_below="@+id/btnClose"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onFAQClick" />

    <ImageButton
        android:id="@+id/btnInfo"
        android:layout_width="@dimen/btnInfo_width"
        android:layout_height="@dimen/btnInfo_height"
        android:layout_alignLeft="@+id/btnOptions"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="@dimen/btnInfo_marginLeft"
        android:background="@null"
        android:contentDescription="@string/layout_empty"
        android:onClick="onInfoClick" />

</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="labelSelGateName_marginTop">40dp</dimen>
    <dimen name="labelSelGateName_textsize">14sp</dimen>

    <dimen name="labelSelOpened_marginTop">0dp</dimen>
    <dimen name="labelSelOpened_textsize">14sp</dimen>

    <dimen name="indicatorActivityView_width">20dp</dimen>
    <dimen name="indicatorActivityView_height">20dp</dimen>
    <dimen name="indicatorActivityView_marginTop">28dp</dimen>

    <dimen name="btnMyGates_width">70dp</dimen>
    <dimen name="btnMyGates_height">110dp</dimen>
    <dimen name="btnMyGates_marginLeft">29dp</dimen>
    <dimen name="btnMyGates_marginTop">60dp</dimen>

    <dimen name="btnOpen_width">90dp</dimen>
    <dimen name="btnOpen_height">55dp</dimen>

    <dimen name="btnClose_width">90dp</dimen>
    <dimen name="btnClose_height">50dp</dimen>
    <dimen name="btnClose_marginBottom">0dp</dimen>

    <dimen name="btnOptions_width">70dp</dimen>
    <dimen name="btnOptions_height">110dp</dimen>
    <dimen name="btnOptions_marginRight">30dp</dimen>

    <dimen name="btnFaqs_width">110dp</dimen>
    <dimen name="btnFaqs_height">70dp</dimen>
    <dimen name="btnFaqs_marginTop">10dp</dimen>

    <dimen name="btnInfo_width">110dp</dimen>
    <dimen name="btnInfo_height">60dp</dimen>
    <dimen name="btnInfo_marginLeft">14dp</dimen>
</resources>

40dp
14便士
0dp
14便士
20dp
20dp
28dp
70dp
110dp
29dp
60dp
90dp
55dp
90dp
50dp
0dp
70dp
110dp
30dp
110dp
70dp
10dp
110dp
60dp
14dp
我在这些文件夹中有四个
dimens.xml
values small
values normal
values large
values xlarge

有了这些文件,Nexus One、WSVGA平板电脑中的
7和WXGA平板电脑中的
10.1看起来都不错。但是,在Galaxy Nexus、5.4 FWVGA、5.1 WVGA和4.7 WXGA中,它看起来不太好

当我说它看起来不好的时候,我的意思是每个
TextView
ImageButton
,等等都移动了,而且它们不在正确的位置


我需要更多文件吗?

Galaxy Nexus有一个
normal
屏幕(其分辨率为
1280 x 720
),并且有
xhdpi
密度。

Galaxy Nexus(以及Galaxy s3和htc one x)有一个正常的屏幕大小和xhdpi密度

参考:


我认为这是Android初始设计的一个限制——它的XML布局不允许指定基于百分比的或类似于HTML表格的布局,即没有精确尺寸的布局

“权重”属性不是选项,因为当我尝试指定任意布局时,Eclipse告诉我“嵌套权重对性能有害”

限定符也不是一个好的架构师解决方案,因为两个不同的设备可能在相同的“屏幕密度”对下被限定,例如HTC One S/HTC One X。这就是为什么谷歌重新设计它,在3.X中引入swdp限定符


对于Android 2.3,您可以创建一个针对480x800优化的“默认”UI,并将其布局在屏幕中心。在540x960和更高的屏幕上,它看起来更小,但仍然完好无损

您的目标SDK版本是什么?@AlexLockwood android:minSdkVersion=“8”android:targetSdkVersion=“15”我正在用eclipse图形布局测试它,它看起来不太好。我还需要做什么吗?我有一个星系连接。。。如果您觉得舒服,可以给我
.apk
,我可以给您发送一个屏幕截图。这很可能是eclipse的一个bug,但您可能应该在真实的设备上测试它,以确保安全。(我不会评判,我保证:P)。我问了一个关于Galaxy Nexus的问题:我正在用eclipse图形布局测试它,它看起来不太好。我还需要做什么吗?不要指望eclipse的可视化编辑器。这通常是可以的,但有时它会给出错误的结果。更好的信任模拟器,当然还有真实的设备。我问了一个关于Galaxy Nexus的问题:这个问题是关于Galaxy Nexus的。你发布的另一个链接是关于一个与galaxy nexus完全无关的问题。不管怎样,我也回答了。另一个问题是关于银河系的。