ユーザーがタブレットを使用しているか、携帯電話を使用しているかを確認する方法はありますか? 傾斜機能と新しいタブレット (Transformer) に問題があります
ベストアンサー1
前に述べたように、デバイスがタブレットか携帯電話かを確認するのではなく、デバイスの機能について知りたいのです。
ほとんどの場合、タブレットとスマートフォンの違いは画面サイズであるため、異なるレイアウト ファイルを使用する必要があります。これらのファイルはディレクトリに保存されますres/layout-<qualifiers>
。ディレクトリに各レイアウトの XML ファイルを作成しres/values-<same qualifiers>
、そこに int/bool/string リソースを配置して、使用するレイアウトを区別することができます。
例:
ファイルres/values/screen.xml
(res/layout/
携帯電話用のレイアウトファイルが含まれていると想定)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="screen_type">phone</string>
</resources>
ファイルres/values-sw600dp/screen.xml
(res/layout-sw600dp/
Nexus 7 のような小型タブレット用のレイアウト ファイルが含まれていると想定)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="screen_type">7-inch-tablet</string>
</resources>
ファイルres/values-sw720dp/screen.xml
( res/layout-sw720dp/
Nexus 10 のような大型タブレットのレイアウト ファイルが含まれていると想定):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="screen_type">10-inch-tablet</string>
</resources>
これで、定数を介して画面タイプにアクセスできるようになりましたR.string.screen_type
。