次のスタイルを使用してボタンをレイアウトします。
<style name="Button.Web" parent="@android:style/TextAppearance.Small">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:singleLine">true</item>
<item name="android:autoLink">web</item>
</style>
ボタン自体は、次LinearLayouts
のようにラップされているものにネストされていExpandableListView
ます。
<Button
android:id="@+id/button_web"
style="@style/Button.Web" />
IのサブクラスでBaseExpandableListAdapter
は、ボタンの各インスタンスのテキストを動的に設定します。
Button buttonWeb = (Button) convertView.findViewById(R.id.button_web);
buttonWeb.setText("http://www.example.com/" + page);
ボタンの項目を展開するExpandableListView
と表示されます (「番号 2」と「番号 4」のボタンを参照)。ただし、レンダリングされたテキストはありません。ボタンに触れた瞬間にテキストが表示されます(「番号 3」のボタンを参照)。
実験
- スタイル設定をいじってみると、 と の組み合わせが記述された動作
android:singleLine
を生成することに気付きました。android:autoLink
- API documentation に記載されているように、
android:singleLine
実際には非推奨であることがわかりました。したがって、そこで提案されているように設定をテストしました。これにより、垂直方向にスクロールする複数行のテキストを含むボタンが作成されます。android:maxLines
1