2014-01-06 67 views
0

我已經創建了一個Android程序,但它在不同的Android設備上看起來不同。它在平板電腦上工作正常,但在某些手機中丟失了按鈕。我怎樣才能使我的完整程序與每個設備兼容?Android中的設備兼容性

這裏是我的XML文件:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:android1="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="horizontal" > 

<TableRow> 

    <TextView 
     android:id="@+id/systemId" 

     android:layout_height="wrap_content" 
     android:text="SystemId" 
      android:layout_width="0dip" 
      android:layout_weight="1" > 

    </TextView> 

    <EditText 
    android:id="@+id/systemId1" 

    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/opMode" 

     android:layout_height="wrap_content" 
     android:text="Model" 
      android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/opMode1" 

    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/DCTime" 

     android:layout_height="wrap_content" 
     android:text="DCTimer" 
     android:layout_width="0dip" 
     android:layout_weight="1"> 
    </TextView> 

    <EditText 
    android:id="@+id/DCTime1" 

    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    />  
</TableRow>   

    <TableRow> 
    <TextView 
     android:id="@+id/Ups" 

     android:layout_height="wrap_content" 
     android:text="UPS" 
     android:layout_width="0dip" 
     android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/Ups1" 
    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/Mode" 

     android:layout_height="wrap_content" 
     android:text="Mode " 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/Mode1" 

    android:layout_height="wrap_content" 
      android:enabled="false" 
      android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/LFBD" 

     android:layout_height="wrap_content" 
     android:text="LFBD" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 
    </TextView> 

    <EditText 
    android:id="@+id/LFBD1" 

    android:layout_height="wrap_content" 
      android:enabled="false" 
     android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 

    </TableRow>   



    <TableRow> 
    <TextView 
     android:id="@+id/Hybrid" 

     android:layout_height="wrap_content" 
     android:text="Hybrid" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/Hybrid1" 

    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/PHC" 

     android:layout_height="wrap_content" 
     android:text="PHC" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/PHC1" 

    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/Now" 

     android:layout_height="wrap_content" 
     android:text="Now" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/Now1" 

    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
</TableRow> 








     <TableRow> 
    <TextView 
     android:id="@+id/GridCharging" 

     android:layout_height="wrap_content" 
     android:text="GRID_CHRG" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/GridCharging1" 

     android:layout_height="wrap_content" 
      android:enabled="false" 
      android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/SolarCharging" 

     android:layout_height="wrap_content" 
     android:text="SOLR_CHRG" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/SolarCharging1" 

    android:layout_height="wrap_content" 
      android:enabled="false" 
      android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/Trip" 

     android:layout_height="wrap_content" 
     android:text="Trip" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/Trip1" 

     android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 


</TableRow> 




    <TableRow> 
    <TextView 
     android:id="@+id/APSS" 

     android:layout_height="wrap_content" 
     android:text="APSS" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/APSS1" 

    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/TPSS" 

     android:layout_height="wrap_content" 
     android:text="TPSS" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/TPSS1" 

    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/TPSSValue" 

     android:layout_height="wrap_content" 
     android:text="AC_TIMER " 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/TPSSValue1" 

    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    />  

</TableRow> 



    <TableRow> 
    <TextView 
     android:id="@+id/BV" 

     android:layout_height="wrap_content" 
     android:text="Bat_Volt" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/BV1" 
      android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/SV" 

     android:layout_height="wrap_content" 
     android:text="Sol_Volt" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/SV1" 

    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/TCT" 

     android:layout_height="wrap_content" 
     android:text="TCT" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/TCT1" 
      android:layout_height="wrap_content" 
       android:enabled="false" 
       android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 

</TableRow> 


<TableRow> 
    <TextView 
     android:id="@+id/Main" 

     android:layout_height="wrap_content" 
     android:text="Main_Volt" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/Main1" 

    android:layout_height="wrap_content" 
     android:enabled="false" 
     android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/Load" 

     android:layout_height="wrap_content" 
     android:text="Load" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/Load1" 
    android:layout_height="wrap_content" 
     android:enabled="false" 
     android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 
    <TextView 
     android:id="@+id/Amps" 

     android:layout_height="wrap_content" 
     android:text="Amps" 
     android:layout_width="0dip" 
      android:layout_weight="1"> 

    </TextView> 

    <EditText 
    android:id="@+id/Amps1" 
      android:layout_height="wrap_content" 
     android:enabled="false" 
      android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 


</TableRow> 

    <TableRow > 

    <Button 
    android:id="@+id/b3 " 

    android:layout_height="wrap_content" 
    android:text="Connect" 
    android:layout_width="0dip" 
    android:layout_weight="1" 
    /> 

     <Button 
    android:id="@+id/b1 " 

    android:layout_height="wrap_content" 
    android:text="Retrive Data" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 

<Button 
    android:id="@+id/b2 " 

    android:layout_height="wrap_content" 
    android:text="Close" 
    android:layout_width="0dip" 
      android:layout_weight="1" 
    /> 

</TableRow> 

</TableLayout> 

我的清單文件是:

 <?xml version="1.0" encoding="utf-8"?> 
     <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.rondsinnotech.rondsctracker" 
     android:versionCode="12" 
     android:versionName="1.2" > 

    <supports-screens 
    android:resizeable="true" 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:xlargeScreens="true" 
    android:compatibleWidthLimitDp="320" /> 

    <uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="18" /> 

    <uses-permission android:name="android.permission.BLUETOOTH" /> 
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

    <application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.rondsinnotech.rondsctracker.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="com.rondsinnotech.rondsctracker.DeviceList" 
     android:label="@string/title_activity_device_list" > 
    </activity> 
    </application> 

    </manifest> 
+1

使用滾動型或有不同的佈局不同的屏幕尺寸 –

+0

@ user3164874結帳我的答案。 – GrIsHu

回答

1

包裝你的整個佈局是一個Scrollview如下:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:android1="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#eef1f5" > 

    <TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="horizontal" > 

     <TableRow> 

      <TextView 
       android:id="@+id/systemId" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="SystemId" > 
      </TextView> 

      <EditText 
       android:id="@+id/systemId1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/opMode" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Model" > 
      </TextView> 

      <EditText 
       android:id="@+id/opMode1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/DCTime" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="DCTimer" > 
      </TextView> 

      <EditText 
       android:id="@+id/DCTime1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 
     </TableRow> 

     <TableRow> 

      <TextView 
       android:id="@+id/Ups" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="UPS" > 
      </TextView> 

      <EditText 
       android:id="@+id/Ups1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/Mode" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Mode " > 
      </TextView> 

      <EditText 
       android:id="@+id/Mode1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/LFBD" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="LFBD" > 
      </TextView> 

      <EditText 
       android:id="@+id/LFBD1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 
     </TableRow> 

     <TableRow> 

      <TextView 
       android:id="@+id/Hybrid" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Hybrid" > 
      </TextView> 

      <EditText 
       android:id="@+id/Hybrid1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/PHC" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="PHC" > 
      </TextView> 

      <EditText 
       android:id="@+id/PHC1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/Now" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Now" > 
      </TextView> 

      <EditText 
       android:id="@+id/Now1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 
     </TableRow> 

     <TableRow> 

      <TextView 
       android:id="@+id/GridCharging" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="GRID_CHRG" > 
      </TextView> 

      <EditText 
       android:id="@+id/GridCharging1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/SolarCharging" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="SOLR_CHRG" > 
      </TextView> 

      <EditText 
       android:id="@+id/SolarCharging1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/Trip" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Trip" > 
      </TextView> 

      <EditText 
       android:id="@+id/Trip1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 
     </TableRow> 

     <TableRow> 

      <TextView 
       android:id="@+id/APSS" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="APSS" > 
      </TextView> 

      <EditText 
       android:id="@+id/APSS1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/TPSS" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="TPSS" > 
      </TextView> 

      <EditText 
       android:id="@+id/TPSS1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/TPSSValue" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="AC_TIMER " > 
      </TextView> 

      <EditText 
       android:id="@+id/TPSSValue1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 
     </TableRow> 

     <TableRow> 

      <TextView 
       android:id="@+id/BV" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Bat_Volt" > 
      </TextView> 

      <EditText 
       android:id="@+id/BV1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/SV" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Sol_Volt" > 
      </TextView> 

      <EditText 
       android:id="@+id/SV1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/TCT" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="TCT" > 
      </TextView> 

      <EditText 
       android:id="@+id/TCT1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 
     </TableRow> 

     <TableRow> 

      <TextView 
       android:id="@+id/Main" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Main_Volt" > 
      </TextView> 

      <EditText 
       android:id="@+id/Main1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/Load" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Load" > 
      </TextView> 

      <EditText 
       android:id="@+id/Load1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 

      <TextView 
       android:id="@+id/Amps" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Amps" > 
      </TextView> 

      <EditText 
       android:id="@+id/Amps1" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:enabled="false" /> 
     </TableRow> 

     <TableRow> 

      <Button 
       android:id="@+id/b3 " 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Connect" /> 

      <Button 
       android:id="@+id/b1 " 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Retrive Data" /> 

      <Button 
       android:id="@+id/b2 " 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Close" /> 
     </TableRow> 
    </TableLayout> 

</ScrollView> 
+0

謝謝先生。它幫助我 – user3164874

+0

很高興提供幫助。 :) @ user3164874 – GrIsHu

0

我會建議使用滾動視圖。或者也許編碼在片段,然後使用:

Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 

類似的東西,然後根據不同大小的屏幕重新安排片段。