我创建了一个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>
答案 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;
类似的东西,然后根据不同大小的屏幕重新排列片段。