android中的设备兼容性

时间:2014-01-06 09:56:02

标签: 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>

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

我建议使用scrollview。或者也许用片段编码,然后使用:

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

类似的东西,然后根据不同大小的屏幕重新排列片段。