Home > Archives > 2012-06
2012-06
[Android] Spinnerの基本的な使い方
- 2012-06-24 (日)
- Android
Androidではコンボボックスに相当するコントロールとして「Spinner(スピナー)」というものが存在します。
使い方を簡単にまとめてみました。
レイアウトファイルによる実装
Spinnerを配置し、entries属性に配列要素を指定します。
ここで設定した配列要素がSpinnerのコンテンツとして表示されます。配列要素については事項で説明します。
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/items" />
</LinearLayout>
/res/valuesにarrays.xmlというファイルを作成し、スピナーに設定する配列要素(アイテム項目)を定義します。
なお、わざわざ新しいファイルを作成しなくてもstrings.xmlの中に記述することも可能ですが、今回は別ファイルを使うことにしました。
arrays.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="items">
<item>item1</item>
<item>item2</item>
<item>item3</item>
<item>item4</item>
<item>item5</item>
<item>item6</item>
<item>item7</item>
<item>item8</item>
<item>item9</item>
</string-array>
</resources>
- Comments: 0
- Trackbacks: 0
[Android] レイアウトでViewを両端に配置する方法
- 2012-06-22 (金)
- Android
レイアウトでViewを両端に配置する方法はいくつか存在しますが、ここで紹介する方法が一番シンプルで分かりやすい気がします。
方法はコードを見てもらえば一目瞭然ですが、配置する2つのViewの真ん中に「android:layout_weight」を”1″にしたViewを埋め込むだけです。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="左" />
<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="右" />
</LinearLayout>
</LinearLayout>
- Comments: 0
- Trackbacks: 0
[Android] エミュレータと外部とのソケット通信
- 2012-06-13 (水)
- Android
ソケット通信のテストを行う際にエミュレータと外部との間で通信できると何かと便利ですが、エミュレータはエミュレータ内部で閉じたネットワークを形成しておりデフォルトでは外部との通信ができない状態になっています。
外部との通信を行うには以下の手順を踏む必要があります。
- エミュレータ起動
- telnetでエミュレータに接続
- redirコマンドでポートフォワード
- Comments: 0
- Trackbacks: 0
[Android] テキストへのリンク設定
- 2012-06-10 (日)
- Android
TextViewに表示したURLにリンクを張るには次の2通りの方法があります。
- レイアウトファイルでautolink属性を使う
- プログラムでHTMLタグを埋め込む
レイアウトファイルでautolink属性を使う
TextViewタグにautolink属性を指定することでリンクを張ることができます。
<textview
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autolink="web"
android:text="http://google.co.jp" />
autolink属性ではURL以外のリンクを張ることもできます。
設定値およびリンク種別の対応は次の通りです。
| 設定値 | リンク種別 |
|---|---|
| web | URL |
| メールアドレス | |
| phone | 電話番号 |
| map | 住所 |
| all | 上記全て |
- Comments: 0
- Trackbacks: 0
[Java] 現在日時の取得
- 2012-06-03 (日)
- Java
現在日時の取得には次のような方法があります。
- Dateクラスを使って取得
- Calendarクラスを使って取得
Dateクラスを使って取得
オブジェクト作成時にDateクラスの引数なしコンストラクタを使うことで現在時刻が設定されたDateオブジェクトを取得できます。
public String getCurrentDateString()
{
//==== 現在時刻を取得 ====//
Date date = new Date();
//==== 表示形式を設定 ====//
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
return sdf.format(date);
}
- Comments: 0
- Trackbacks: 0
[Android] メニュー処理
- 2012-06-02 (土)
- Android
メニューボタンを押したときに出てくるメニューの実装方法を簡単にまとめてみました。
メニュー表示
Activityクラスの onCreateOptionsMenu() をオーバーライドし、この中にメニュー表示処理を実装していきます。
このメソッドは引数としてMenuオブジェクトを受け取るので、このオブジェクトに対してメニュー項目を追加していきます。
なお、このメソッドはメニューボタン押下時に一度だけ呼び出されます。
public class HogeActivity extends Activity
{
//==== メニューID ====//
private static final int MENU_ITEM1 = Menu.FIRST;
private static final int MENU_ITEM2 = Menu.FIRST + 1;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
menu.add(Menu.NONE, MENU_ITEM1, Menu.NONE, "item1");
menu.add(Menu.NONE, MENU_ITEM2, Menu.NONE, "item2");
return super.onCreateOptionsMenu(menu);
}
}
- Comments: 0
- Trackbacks: 0
Home > Archives > 2012-06
- Search
- Feeds
- Meta
- 人気の記事