Home > プログラム
プログラム Archive
[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
[Android] SDK Managerがうまく機能しないときは・・・
- 2012-05-28 (月)
- Android
SDK Managerでライブラリなどをインストールする際に、以下のようなログが出力されてライブラリ情報の取得に失敗することがあります。
Fetching https://dl-ssl.google.com/android/repository/addons_list-1.xml Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-1.xml, reason: Unknown Host dl-ssl.google.com Fetched Add-ons List successfully Fetching URL: https://dl-ssl.google.com/android/repository/repository-5.xml Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-5.xml, reason: dl-ssl.google.com Fetching URL: http://dl-ssl.google.com/android/eclipse/site.xml Failed to fetch URL http://dl-ssl.google.com/android/eclipse/site.xml/addon.xml, reason: dl-ssl.google.com Done loading packages.
このような場合はプロキシでアクセスが弾かれている可能性があります。
SDK Managerのメニュー [Tools] – [Option] を開いてプロキシ設定を行ってみると解決するかも・・・。
- Comments: 0
- Trackbacks: 0
[Android] タイマーの使い方
- 2012-05-16 (水)
- Android
時間経過や一定間隔での処理を行う場合にはタイマーがよく使われます。
今回はタイマーの基本的な使い方をまとめてみました。
タイマー機能はTimerクラスおよびTimerTaskクラスにまとめられています。
大まかな処理の流れは次のようになります。
- Timerオブジェクト作成
- Timerクラスの schedule() もしくは scheduleAtFixedRate() でタイマー起動
- Timerクラスの cancel() でタイマー停止&破棄
Timerオブジェクト作成
Timerクラスにはいくつかのコンストラクタが定義されています。
メソッド | 説明 |
---|---|
Timer() | ユーザースレッドで動くタイマーオブジェクトを作成する。 |
Timer(boolean isDaemon) | 指定されたスレッド種別で動くタイマーオブジェクトを作成する。 |
Timer(String name) | 名前付きユーザースレッドで動くタイマーオブジェクトを作成する。 |
Timer(String name, boolean isDaemon) | 指定された種別の名前付きスレッドで動くタイマーオブジェクトを作成する。 |
isDaemon という引数を取るコンストラクタがありますが、これはスレッド種別を指定するものです。
この辺りはスレッドに関する知識が必要になってきますので、簡単に説明しておきます。
- Comments: 0
- Trackbacks: 0
[Android] ScrollViewのスクロールいろいろ
- 2012-05-15 (火)
- Android
ScrollViewでスクロール位置を操作する方法。
最上部にスクロール
scrollView= (ScrollView)findViewById(R.id.scrollView1); scrollView.post(new Runnable() { public void run() { scrollView.fullScroll(ScrollView.FOCUS_UP); } });
最下部にスクロール
scrollView= (ScrollView)findViewById(R.id.scrollView1); scrollView.post(new Runnable() { public void run() { scrollView.fullScroll(ScrollView.FOCUS_DOWN); } });
- Comments: 0
- Trackbacks: 0
[Android] ボタンの見た目をカスタマイズ
- 2012-05-12 (土)
- Android
規定のボタンデザインを使ってもいいのですが、物足りなく感じることはないでしょうか?
どうせ自作アプリを作るなら、ボタンもオリジナルの見た目にしたいですよね。
そこで、今回はボタンの見た目を変更する方法について。
背景色の変更
android:background属性に背景色を指定するだけでも見た目がガラっ(?)と変わります。
<?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" > <Button android:layout_width="100dp" android:layout_height="40dp" android:background="#00FF00" android:text="Hoge" /> </LinearLayout>
- Comments: 0
- Trackbacks: 0
[Android] 背景色の設定
- 2012-05-12 (土)
- Android
Viewクラスで定義されている setBackgroundColor() で背景色を設定できます。
多くのUI部品はViewクラスを継承していますので、ButtonやTextViewなどいろいろなUI部品でここで紹介する方法が使用できます。
レイアウトファイルでの設定方法
android:background 属性にRGB値を指定することで背景色を設定することができます。
RGB値は頭に#を付け、次いで赤、緑、青の順で各値を16進数2桁で指定します。
言葉で表現すると分かり辛いですが「#RRGGBB」という形式で指定することになります。
各値は00~FF(10進数で0~255)の範囲で指定し、00に近いほど黒要素が強くなります。
「#000000」は黒、「#FFFFFF」は白を表します。
次のサンプルでは背景色として赤を設定しています。
<Button android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FF0000" />
- Comments: 0
- Trackbacks: 0
ホーム > プログラム
- Search
- Feeds
- Meta
- 人気の記事