我使用以下样式来布局按钮:
<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" />
在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
的组合会产生所描述的行为。android:singleLine
实际上已弃用为stated in the API documentation。因此,我按照那里的建议测试android:maxLines
设置为1
。这会生成一个文本为多行,垂直滚动的按钮。答案 0 :(得分:1)
我知道这个问题有点旧,但我遇到了类似的问题。在我的情况下,我必须设置&#34; android:textColorLink&#34;除了autoLink属性之外,xml中的属性。 TextView的行为是相同的。
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:autoLink="phone|email"
android:textColorLink="@color/yourDesiredLinkColor"/>
Probablby它不会帮助你,但希望其他人:)