Normaly这种行为并不引人注目,但在三星Galaxy S上,默认的AlertDialog背景为蓝色,正常的格式化链接(蓝色)消失.不幸的是,下面的代码不会改变链接的颜色.
有人有想法吗?
public void showClickableDialog(String title, String msg) {
final SpannableString s = new SpannableString(msg);
Linkify.addLinks(s, Linkify.ALL);
final AlertDialog d = new AlertDialog.Builder(mContext)
.setPositiveButton(android.R.string.ok, null).setIcon(
R.drawable.logo).setTitle(title).setMessage(s).create();
d.show();
// Make the textview clickable. Must be called after show()
TextView textView = ((TextView) d.findViewById(android.R.id.message));
// Next Line unfortunately does nothing
textView.setTextColor(Color.MAGENTA);
textView.setBackgroundColor(Color.BLACK);
textView.setMovementMethod(LinkMovementMethod.getInstance());
}
Run Code Online (Sandbox Code Playgroud)
我有以下内容,style.xml
以使链接橙色:
<item name="android:textColorLink">#FF9900</item>
Run Code Online (Sandbox Code Playgroud)
所以我假设在代码中你只需要这样做(由于某种原因,方法名称与XML属性不一致):
textView.setLinkTextColor(Color.MAGENTA);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2727 次 |
最近记录: |