6
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

タブレットとスマホを判別する

Last updated at Posted at 2016-04-21

この記事は http://buildbox.net/?p=789 からの転載です。

Androidはスマホとタブレットなど、複数の解像度の端末が多数存在します。
何かと面倒だな・・・ということでタブレット対応を後回しにしがちですが、ルールがわかればそこまで難しいものではありません。
今回はタブレットとスマホの判別方法を記事としてまとめておきたいと思います。

Andorid 3.0(Honeycomb)が出た当初から、解像度としてはタブレットは画面サイズが600dp以上のものが対象とされています。
そのことは、Googleの公式ページでも解説されています。

さまざまな画面サイズのサポート
http://developer.android.com/intl/ja/training/multiscreen/screensizes.html

上記のサイトに有るとおり、layout-sw600dpにタブレット用のレイアウトを用意すれば、タブレットに対応が可能です。
しかし、ソースコード上で動的にタブレットの場合の挙動を変える必要があるかも知れません。
その時には、以下の様な手段を取ると良さそうです。

res/values/bools.xml

<resources>
  <bool name="is_tablet">false</bool>
</resource>

res/values-sw600dp/bools.xml

<resources>
  <bool name="is_tablet">true</bool>
</resource>

res/valuesとres/values-sw600dpにboolの値を定義し、sw600dpの時にtrueを返すようにします。
後は、ソース中で

getresources().getBoolean(R.bool.is_tablet);

と呼び出してやれば、タブレットの時にtrueが返ってきます。

6
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?