戌印-INUJIRUSHI- (Androidあれこれ)

Androidのプログラミングをメインにしてます。記事に貼られたソースコードはダブルクリックすることで行番号をはずしてコピーすることができます。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
08

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

EditText のヒントを改行させない

Android で文字入力を行うための EditText 。
hint 属性を指定することで入力が空のときに何を入力すればいいのかの説明を EditText 内に表示することができます。

ただしこの hint 属性の表示行は、入力文字との行とはやや異なります。
EditText の lines 属性や singleLine 属性を指定することで1行になるように指定した場合、入力文字は1行になるがヒントは複数行表示されてしまいます。

android_edittext_hint1.png


この問題は ellipsize 属性を合わせて指定することで解消することができます。
android:ellipsize="end"
android:singleLine="true"
android_edittext_hint2.png

【参考サイト】
stackoverflow - Android: EditText hint in single line
(日本語のサイトは見つけれなかった…)


■ XMLで定義する場合
<?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" >
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:ellipsize="end"
android:hint="EditText のヒントは android:ellipsize を合わせて指定することで1行になる"
android:singleLine="true" />
</LinearLayout>


■ ソースコードで定義する場合
package jp.inujirushi.android.sample;

import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils.TruncateAt;
import android.widget.EditText;
import android.widget.LinearLayout;

public class TestActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// EditTextを生成する
EditText editText = new EditText(this);
editText.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));

// ヒントを1行表示にする
editText.setSingleLine(true);
editText.setEllipsize(TruncateAt.END);
editText.setHint("EditText のヒントは android:ellipsize を合わせて指定することで1行になる");

// レイアウトを生成する
LinearLayout layout = new LinearLayout(this);
layout.addView(editText);

// レイアウトを設定する
setContentView(layout);
}
}


そもそも改行するような長いヒント書くな、という話ですよね…。
スポンサーサイト

Comments

Leave a Comment


Body
プロフィール

とむ・やむくん

Author:とむ・やむくん
管理人について

Windows 7 / 64bit
Eclipse 4.2 Juno (日本語パッチ済)

スポンサーサイト
最新トラックバック
検索フォーム
ブロとも申請フォーム
QRコード
QR
Twitter
2013/01/04 19:00 カウント開始

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。