現在、添付画像のように、リストダイアログが3行表示されます。ソースは下
記です。
--
AlertDialog dialog = new AlertDialog.Builder(getContext())
.setTitle( moji )
.setItems(items, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
whitchBtn = which + 1;
}
}).show();
--
この表示行数を動的に4行とか5行とか変更したいのです。下記のようにレイア
ウトを作って、setView()すればいいと思うのですが、レイアウトのやり方が勉
強不足でわかりません。
下の例のように文字を小さくしても、1行表示されるようになっただけで、全
然だめでした。
行数を増やすためには、どのようなレイアウト設定をすればいいのでしょう
か。ダイアログの動的レイアウトの参考サイトなど、ありましたら、教えてくだ
さい。
よろしくお願いします。
--
// テキストビューを生成
TextView text = new TextView(getContext());
text.setTextSize(10.0f);
//レイアウトの生成
LinearLayout layout = new LinearLayout(getContext());
layout.addView(text);
//ダイアログ
AlertDialog dialog = new AlertDialog.Builder(getContext())
.setView(layout)
.setTitle( moji )
.setItems(items, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
whitchBtn = which + 1;
}
}).show();
--
--
山本三七男 (Minao Yamamoto) ---------------- ハンドル:たろサ -----
E-Mail: taro...@gmail.com
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
たろサです。説明ありがとうございます。
> ちょっと意味が汲み取れないのですが
説明が下手ですいません。
添付したsetumei.pngにあるように、ダイアログを出したときに表示される行
数を動的に変更したいということです。この説明でわかりますでしょうか。
このsetumei.pngのダイアログを表示させているソースが下記です。レイアウ
ト的にはデフォルトで、何も設定していません。
--
AlertDialog dialog = new AlertDialog.Builder(getContext())
.setTitle( moji )
.setItems(items, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
whitchBtn = which + 1;
}
}).show();
--
> TextViewの行数を3行にしたい ということですか?
>
> それならsetLinesというメソッドがあります。
>
> 例)
> TextView textview = (TextView)findViewById(R.id.TextView01);
> textview.setText("abc");
> textview.setLines(3);
>
さっそく、夜子まま様の説明通りにやってみました。
--
// テキストビューを生成
TextView textview = new TextView(getContext());
textview.setLines(5); //←5行表示となることを期待
//レイアウトの生成
LinearLayout layout = new LinearLayout(getContext());
layout.addView(textview);
//ダイアログ
AlertDialog dialog = new AlertDialog.Builder(getContext())
.setView(layout)
.setTitle( moji )
.setItems(items, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
whitchBtn = which + 1;
}
}).show();
--
結果、setline5.pngになりました。
上記のソースだと、setLines(5)にしたのに、1行半くらいしか、表示されなく
なってしまいました。
表示行数をコントロールするには、どうすればいいのでしようか。
私が、ダイアログのレイアウトの設定方法をわかっていないだけだと思うので
す。どなたか、教えていただけませんでしょうか。
よろしくお願いします。
(2011/01/18 9:20), yokmama wrote:
> 夜子ままです
>
> ちょっと意味が汲み取れないのですが
> TextViewの行数を3行にしたい ということですか?
>
> それならsetLinesというメソッドがあります。
>
> 例)
> TextView textview = (TextView)findViewById(R.id.TextView01);
> textview.setText("abc");
> textview.setLines(3);
>
>
> 2011年1月18日2:17 たろサ <taro...@gmail.com <mailto:taro...@gmail.com>>:
> E-Mail: taro...@gmail.com <mailto:taro...@gmail.com>
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に
> 送られています。
> このグループに投稿するには、android-g...@googlegroups.com
> <mailto:android-g...@googlegroups.com> にメールを送信してくだ
> さい。
> このグループから退会するには、android-group-
> japan+un...@googlegroups.com
> <mailto:android-group-japan%2Bunsu...@googlegroups.com> にメール
> を送信してください。
> 詳細については、http://groups.google.com/group/android-group-
> japan?hl=ja からこのグループにアクセスしてください。
>
>
>
>
> --
> *************************************************
> Re:Kayo-System Co.,Ltd.
>
> CEO Masafumi Terazono
> Blog http://kayosystem.blogspot.com/
> Twitter @yokmama
> *************************************************
>
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送ら
> れています。
> このグループに投稿するには、android-g...@googlegroups.com にメー
> ルを送信してください。
> このグループから退会するには、android-group-
> japan+un...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
たろサです。
非常にわかりやすい説明、ありがとうございます。
http://android.git.kernel.orgを調べれば、ソースが見れるのですね。
AlertDialogの位置づけが、だいたいわかりました。
> 1行の高さを変えたいということですよね?
> AlertDialog.Builder を使った場合テーマを指定することが
> できいません(これすごく不便なんですけど)
はい、1行の高さを変えたいということです。
AlertDialogは、簡単にダイアログを実装できるけれど、凝ったことをしたけ
れば、自分でDialogクラスを使って実装してね。という話なんだなと、理解しま
した。
Dialogクラスを勉強して、listviewを実装するようなことを考えたいと思います。
まだ、どうすればいいのか全く検討が付かないですが、またわからないことが
あれば質問すると思いますので、よろしくお願いします。
(2011/01/18 12:56), あんざいゆき wrote:
> あんざいです。
>
> 1行の高さを変えたいということですよね?
> AlertDialog.Builder を使った場合テーマを指定することが
> できいません(これすごく不便なんですけど)
>
> AlertDialog のソースはこれです。
> http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/app/AlertDialog.java;h=61a8fc3312f9a92e6db9ac1411f454003820d8a9;hb=HEAD
>
> このなかの Builder クラスで
> 273<http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/app/AlertDialog.java;h=61a8fc3312f9a92e6db9ac1411f454003820d8a9;hb=HEAD#l273>
> public Builder(Context context) {
> 274<http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/app/AlertDialog.java;h=61a8fc3312f9a92e6db9ac1411f454003820d8a9;hb=HEAD#l274>
> this(context,
> com.android.internal.R.style.Theme_Dialog_Alert);
> 275<http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/app/AlertDialog.java;h=61a8fc3312f9a92e6db9ac1411f454003820d8a9;hb=HEAD#l275>
> }
> 276<http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/app/AlertDialog.java;h=61a8fc3312f9a92e6db9ac1411f454003820d8a9;hb=HEAD#l276>
> のように
> Theme_Dialog_Alert というテーマを指定しています。
>
> このひとは themes.xml にいます。
> http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/res/res/values/themes.xml;h=040e732c62b987e7aec2e7133e6766694c274044;hb=HEAD
>
>
> ここで以下のように定義されていて、
> 429<http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/res/res/values/themes.xml;h=040e732c62b987e7aec2e7133e6766694c274044;hb=HEAD#l429>
> <style name="Theme.Dialog.Alert">
> 430<http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/res/res/values/themes.xml;h=040e732c62b987e7aec2e7133e6766694c274044;hb=HEAD#l430>
> <item name="windowBackground">@android:color/transparent</item>
> <item name="windowTitleStyle">@android:style/DialogWindowTitle</item>
> <item name="windowIsFloating">true</item>
> <item name="windowContentOverlay">@null</item>
> </style>
>
> Theme.Dialog を Theme に含まれる定義も継承しています。
> Theme のなかで
> 81<http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/res/res/values/themes.xml;h=040e732c62b987e7aec2e7133e6766694c274044;hb=HEAD#l81>
> <!-- List attributes -->
> 82<http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/res/res/values/themes.xml;h=040e732c62b987e7aec2e7133e6766694c274044;hb=HEAD#l82>
> <item name="listPreferredItemHeight">64dip</item>
>>> japan+un...@googlegroups.com<japan%2Bunsu...@googlegroups.com>
>>> <mailto:android-group-japan%2Bunsu...@googlegroups.com<android-group-japan%252Buns...@googlegroups.com>>
>> にメール
>>> を送信してください。
>>> 詳細については、http://groups.google.com/group/android-group-
>>> japan?hl=ja からこのグループにアクセスしてください。
>>>
>>>
>>>
>>>
>>> --
>>> *************************************************
>>> Re:Kayo-System Co.,Ltd.
>>>
>>> CEO Masafumi Terazono
>>> Blog http://kayosystem.blogspot.com/
>>> Twitter @yokmama
>>> *************************************************
>>>
>>>
>>> --
>>> このメールは Google グループのグループ「日本Androidの会」の登録者に送ら
>>> れています。
>>> このグループに投稿するには、android-g...@googlegroups.com にメー
>>> ルを送信してください。
>>> このグループから退会するには、android-group-
>>> japan+un...@googlegroups.com<japan%2Bunsu...@googlegroups.com>にメールを送信してください。
>>> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja
>>> からこのグループにアクセスしてください。
>>
>> --
>> 山本三七男 (Minao Yamamoto) ---------------- ハンドル:たろサ -----
>> E-Mail: taro...@gmail.com
>>
>> --
>> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
>> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> このグループから退会するには、android-group-j...@googlegroups.com<android-group-japan%2Bunsu...@googlegroups.com>にメールを送信してください。
>> 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。