2014-07-23 26 views
0

我做了很多事情來嘗試使我的應用程序與平板電腦兼容,但沒有任何工作。這裏是我的嘗試:我的應用程序仍然不是平板兼容的

  • 我有5個文件夾繪製(LDPI,MDPI,華電國際,xhdpi,xxhdpi)和每個文件夾包含具有不同大小相同的圖像。
  • 我有3個佈局文件夾(小,中,大),每個人都含有
  • 我加入這個代碼,並取得ANABLE其中我的應用程序使用電話一樣個XML:
<uses-feature 
     android:name="android.hardware.telephony" 
     android:required="true" /> 
    <uses-feature 
     android:name="android.hardware.camera" 
     android:required="false" /> 
    <uses-feature 
     android:name="android.hardware.camera.front" 
     android:required="false" /> 
  • 還增加這個代碼支持屏幕:

    <supports-screens 
          android:anyDensity="true" 
          android:largeScreens="true" 
          android:normalScreens="true" 
          android:resizeable="true" 
          android:smallScreens="true" 
          android:xlargeScreens="true" /> 
    
  • 我也有分鐘SDK到8

什麼感到很困惑的是,我有一個應用程序已經在商店,這並不使用任何的這些和其分SDK是8和它說,它兼容片。它只有tha可繪製的文件夾,佈局文件夾,並且在這個應用程序中,我還有/ res文件夾,像Images-ldpi,images-hdpi等圖像文件夾,以及我在可繪製文件夾中具有的相同圖像。

由谷歌什麼是做的第一個應用程序應該現在已經工作,但它does not。

應用的我的清單,這並不在平板電腦上的工作:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.myapp" 
    android:versionCode="6" 
    android:versionName="1.0.6" > 

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

    <uses-permission android:name="android.permission.SEND_SMS" /> 
    <uses-permission android:name="android.permission.READ_SMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
    <uses-permission android:name="android.permission.VIBRATE" /> 
    <uses-permission android:name="android.permission.GET_TASKS" /> 

    <uses-feature 
     android:name="android.hardware.telephony" 
     android:required="true" /> 
    <uses-feature 
     android:name="android.hardware.camera" 
     android:required="false" /> 
    <uses-feature 
     android:name="android.hardware.camera.front" 
     android:required="false" /> 

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

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/olympialogo" 
     android:launchMode="singleTop" 
     android:logo="@drawable/olympialogo" 
     android:theme="@style/AppTheme" > 
     <receiver 
      android:name="com.myapp.BootCompleted" 
      android:enabled="true" 
      android:exported="false" > 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      </intent-filter> 
     </receiver> 

     <service android:name="com.myapp.BackgroundActivity" /> 

     <receiver android:name="com.myapp.SMSreceiver" > 
      <intent-filter> 
       <action android:name="android.provider.telephony.SMS_RECEIVED" > 
       </action> 
      </intent-filter> 
     </receiver> 

     <activity 
      android:name="com.myapp.Splash" 
      android:label="@string/title_activity_splash" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" 
      android:theme="@android:style/Theme.NoTitleBar" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.myapp.MainActivity" 
      android:label="@string/app_name" 
      android:screenOrientation="sensorPortrait" > 
      <intent-filter> 
       <action android:name="splashscreen" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.myapp.NumbersActivity" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" > 
     </activity> 
     <activity 
      android:name="com.myapp.CodesActivity" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" > 
     </activity> 
     <activity 
      android:name="com.myapp.SendCode" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" > 
     </activity> 
     <activity 
      android:name="com.myapp.SettingsActivity" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" > 
     </activity> 
     <activity 
      android:name="com.myapp.AllMessages" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" > 
     </activity> 
     <activity 
      android:name="com.myapp.ButtonsActivity" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" > 
     </activity> 
     <activity 
      android:name="com.myapp.OutputActivity" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" > 
     </activity> 
     <activity 
      android:name="com.myapp.AboutActivity" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" > 
     </activity> 
     <activity 
      android:name="com.myapp.Help" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" > 
     </activity> 
     <activity 
      android:name="com.myapp.TechInfo" 
      android:launchMode="singleTop" 
      android:screenOrientation="sensorPortrait" > 
     </activity> 
    </application> 

</manifest> 

這是應用程序的清單是平板電腦兼容,但都在清單中沒有任何設置:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="lol.loltimers" 
    android:versionCode="3" 
    android:versionName="1.3" > 

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

    <uses-permission android:name="android.permission.WAKE_LOCK" /> 

    <application 
     android:icon="@drawable/lolicon" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/activity_main" 
      android:screenOrientation="portrait" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".TimersActivity" 
      android:label="@string/activity_timers" 
      android:screenOrientation="portrait" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.example.loltimers.MainActivity" /> 
     </activity> 
     <activity 
      android:name=".ThreeTimersActivity" 
      android:label="@string/activity_three_timers" 
      android:screenOrientation="portrait" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.example.loltimers.MainActivity" /> 
     </activity> 
    </application> 

</manifest> 
+0

請顯示您的完整清單文件。 – Henry

+0

如果您希望您的應用程序兼容平板電腦,爲什麼需要電話? – stealthjong

+1

因爲它使用消息,如果他們有3-4g啓用 –

回答

2

你需要製作不同的文件夾在可繪製

爲標籤你必須作爲寵物標籤大火

  • 繪製-大MDPI //爲600x1024 MDPI標籤
  • 繪製-大華電國際//爲華電國際標籤
  • 繪製-大LDPI //爲xhdpi標籤

,然後進行在尺寸變更文件

  • 值-sw600dp //爲7英寸標籤
  • 值-sw800dp // 8英寸標籤

如果u有特殊的佈局要求,然後u需要做出不同的佈局

  • 佈局大
  • 佈局XLARGE

檢查此鏈接 http://android-developers.blogspot.in/2011/07/new-tools-for-managing-screen-sizes.html

+1

這實際上非常有幫助。所以基本上我應該刪除我的佈局(小,中,大)文件夾,並只留下佈局。並創建另外2個文件夾 res/layout-sw600dp/main_activity.xml#對於7「平板電腦 res/layout-sw720dp/main_activity.xml#對於10」平板電腦,它應該正常工作? 並刪除我添加在manifesT中的額外代碼?或者把它留在那裏? –

+0

如果你有特殊的佈局,那麼你需要佈局文件夾,否則只需要一個佈局文件夾,併爲值創建不同的值文件夾,並使不同的維度,它會酸性 – SANU

+0

ok讓我們用例子來解釋...假設你有佈局main.xml佈局folder..and你想支持選項卡和你的佈局工作完成xhdpi ..然後你必須創建不同的維度和不同的值..ex values-sw600dp //對於7英寸選項卡 values-sw800dp //對於10英寸選項卡和你有一個compont大小14 dp在xhdpi然後使其20或22角錢的價值600dp ...並且它自動採取從設備明智 – SANU

1

你需要設置

<uses-feature 
     android:name="android.hardware.telephony" 
     android:required="false" /> 

並在運行時檢查設備是否具有消息傳遞功能。

相關問題