Browsing articles in "ユーザインターフェース"

スクロールバーを利用する方法

9月 4, 2010   //   by kseto   //   ユーザインターフェース  //  1 Comment

今日はScrollViewについて紹介します。
Androidアプリケーションを作っていると以下の写真のように、
画面サイズが足りずに表示されない領域が出てくる場合があります。

この場合、ScrollViewを使ってスクロールバーで画面を
移動できるようにすると良いでしょう。

詳細は以下からどうぞ。

Read more >>

タブメニューを利用する

8月 31, 2010   //   by @mhidaka   //   ユーザインターフェース  //  1 Comment

Androidでタブを使う方法について紹介します。
タブ(Tab)を簡単に使う仕組みとして専用のActivity「TabActivity」が用意されています。

※2010/11/14 yanzmさんよりご指摘いただき、内容を修正しました。ありがとうございました!

TabActivityで、タブの内容として表示できるのはView、Activity(IntentによるTabActivity内起動)、
動的にコンテンツを生成できるTabHost.TabContentFactoryです。

レイアウト構成の制限

TabActivityではレイアウトファイルについて、名前上の制限があります。

  • TabWidgetのidが android:id=”@android:id/tabs” であること
  • FrameLayoutのidが android:id=”@android:id/tabcontent”であること

上記の2つは、タブを使う上で固定のidとなっています。

続きはサンプルの res/layout/main.xml です。アウトラインは以下のような構成です。
Read more >>

PreferenceのSummaryに現在の設定情報を表示する

8月 29, 2010   //   by kseto   //   ユーザインターフェース  //  2 Comments

設定画面を簡単に作る」ではPreferenceを使って設定画面を作成する方法を紹介しました。
Preferenceには各Preferenceの補足情報を表示するSummaryと呼ばれる領域がありますが、
このSummaryに現在設定されている情報が表示されるととても便利です。

というわけで今回はSummaryに現在の設定情報を表示する方法を紹介したいと思います。

Read more >>

設定画面を簡単に作る

8月 22, 2010   //   by kseto   //   ユーザインターフェース  //  3 Comments

Androidアプリケーションで設定情報を保存したい場合、Preferenceを使うと便利です。
以前TechBoosterでは「データを簡単に保存する方法」としてPreferenceを紹介しましたが、
Preferenceを使うことでデータの保存だけではなく、下の図のようなデータ入力のためのGUIも簡単に実装することが可能です。

今回はPreferenceを使った設定情報の入力・保存、取り出しまでの手順をご紹介します。

Read more >>

画面サイズを取得する

8月 14, 2010   //   by kseto   //   ユーザインターフェース  //  1 Comment

アプリケーションを開発する際、端末によってその画面サイズはバラバラです。
アプリケーションが端末の画面サイズを取得することができれば
動的に画面デザインを構成することができます。
詳しくは続きからどうぞ。

Read more >>

テーマを使ってレイアウトを定義する

8月 8, 2010   //   by kseto   //   ユーザインターフェース  //  1 Comment

スタイルと同様の機能にテーマというものがあります。
テーマも、ビューやウィンドウの属性値をまとめて設定する機能なのですが、
テーマはスタイルのように個々のビューに対して設定するのではなく、
アプリケーションやアクティビティ全体に対して設定を行います。

詳細は続きからどうぞ

Read more >>

TimePickerDialogで時刻選択する

8月 3, 2010   //   by @mhidaka   //   ユーザインターフェース  //  2 Comments

時刻入力ダイアログのTimePickerDialogの紹介です。
名前からも分かるとおり、時刻入力に特化したダイアログで、以前紹介したDatePickerDialogで日付選択すると同様に、簡単に使うことが出来ます。標準のダイアログを使うと省力化でき、多言語対応も楽になります。
(今回のTimePickerDialogでも、ユーザーの言語設定に合った画面構成を作成してくれます)

また、TimePickerDialogとDatePickerDialogはAlertDialogを継承しているため、
AlertDialogで警告画面を表示する(1)で紹介したメソッドも利用可能です。

続きはソースコードの解説・サンプルです。

        //時刻設定ダイアログの作成
        timePickerDialog = new TimePickerDialog(this, TimeSetListener, hourOfDay, minute, true);

Read more >>

スタイルを使ってレイアウトを定義する

8月 1, 2010   //   by kseto   //   ユーザインターフェース  //  2 Comments

スタイルを使うとビューやウィンドウの持ついくつもの属性に関する設定値をまとめて扱うことができます。
たとえばTextViewの場合、テキストのフォントやサイズ、ビューの幅・高さといった属性を持ちますが、
これらの属性に関する設定値をひとつのスタイルとして定義することができます。
そして、TextViewに対して定義したスタイルを指定すれば、一括で各属性の設定を行うことができるわけです。
属性値を一括で管理できるので、属性値の変更の際にも変更箇所を減らすことができます。

それではスタイルの使い方についてサンプルをご紹介したいと思います。
続きは以下からどうぞ。

Read more >>

画面の向きによってレイアウトを変更する

7月 29, 2010   //   by kkato   //   ユーザインターフェース  //  1 Comment

端末の液晶画面は基本的に長方形です。アプリによっては端末の向きを変えることで、縦長のポートレートモード(portrait)と横長のランドスケープモード(landscape)でレイアウトが変わるものや、向きを変えてもレイアウトが固定されているものがあります。

例えば、エミュレータの電話アプリでは下記の画像のように、ポートレートとランドスケープでレイアウトが変わります。

エミュレータで端末(画面)の向きを変える場合は「CTRL + F11」を押してください。

それでは、実際に横向き用、縦向き用のレイアウトを用意したい場合にどのようにしたらよいかなどを続きで説明します。

Read more >>

タッチイベントを取得する(onTouchEventとMotionEvent)

7月 27, 2010   //   by @mhidaka   //   アプリケーション, ユーザインターフェース  //  4 Comments

Androidには様々な入力インターフェイスが備わっています。
ハードウェアキーボード、トラックボール、タッチスクリーンなどです。端末によっては複数の入力インターフェイスをサポートしていることがあります。今回は最も一般的なタッチスクリーンから、イベントを受け取る方法を解説します。

ユーザのスクリーン操作を受け取るにはonTouchEventメソッドを利用します。

ActivityとViewのTouchEvent

onTouchEventの呼び出し優先順位は上位のView>下位のView>Activityです。

クラスとメソッド 説明
Activity.onTouchEvent Viewで消費されなかった場合、呼び出される
View.onTouchEvent 上位レイヤーから順番に呼び出される

最も単純なソースコードは以下の通りです

public class touchEventActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
    	Log.d("TouchEvent", "X:" + event.getX() + ",Y:" + event.getY());
    	return true;
    }
}

onTouchEventメソッドの返り値は標準でfalseですが、今回は、trueとしています。
返り値をtrueに設定すると「TouchEventを消化」したことになり、他のViewやActivityへの通知を抑制できます。

タッチパネルを指でなぞると以下のような座標値をLogcatへ出力します

07-26 16:59:22.098: DEBUG/TouchEvent(260): X:146.0,Y:320.0
07-26 16:59:22.120: DEBUG/TouchEvent(260): X:146.0,Y:316.0
07-26 16:59:22.139: DEBUG/TouchEvent(260): X:146.0,Y:316.0
07-26 16:59:24.898: DEBUG/TouchEvent(260): X:58.0,Y:154.0

MotionEventで受け取れるイベントは座標だけではなくAction(動作)など多様な情報を取り出せます。
Actionや境界値判定など続きで解説します
Read more >>

ページ:«12345678910»

技術書新刊 発売中

アンドロイドアカデミアには、CIやテスト、互換検証など実務に生きるノウハウをあつめています

技術書新刊 発売中

Android Next!はAndroid 7.0に対応したはじめての技術書です!


The Web Explorer 2はCSSの中央寄せやWebAudioなど未来を読み解く一冊です


Revised TypeScript in DefinitelylandはTypeScript 2.0(β)に対応した解説書です。インストールから型定義まで幅広くサポートしています


技術書をかこう!はエンジニアらしい執筆環境を構築、HowTo本です