![](/img/trans.png)
[英]How to put a TEXTVIEW center on a IMAGEVIEW in Android Layout
[英]How to put a imagebutton/imageview between a multiline textview in android
我在 Android 中的多行 textview 之間放置 imagebutton/imageview 時遇到問題。
例如。:
文本是動態的。 我在我的應用程序(近 50 個)中使用不同的文本有很多這樣的視圖,我想通過代碼的可重用性來實現這一點。 所以請給我一些動態的解決方案。 單擊圖像按鈕/圖像視圖時,它應該重定向到調用屏幕。
我對在 WebViews 的幫助下執行此操作的想法持開放態度,除非並且直到它們處理整個應用程序中文本的動態性(我不想為每個視圖制作 Html 文件)。
尋求真誠合作。 謝謝你。
嘗試這個
SpannableString string1=new SpannableString(yourdynamictext);
//Get Drawable
Drawable d=getResources().getDrawable(R.drawable.ic_launcher);
d.setBounds(0,0,d.getIntrinsicWidth(),d.getIntrinsicHeight());
// image span
ImageSpan span2= new ImageSpan(d,ImageSpan.ALIGN_BASELINE);
string1.setSpan(span2, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
yourtextview.setText(string1);
更新:
為你的文本視圖設置這個
yourtexview.setMovementMethod(LinkMovementMethod.getInstance());
使用ClickableSpan
這是示例
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View textView) {
Toast.makeText(MainActivity.this, "Hello",Toast.LENGTH_LONG).show();
}
};
string1.setSpan(clickableSpan , 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
yourtextview.setText(string1);
您將需要像這樣設置兩個跨度:imagespan 和 ClickableSpan。
fun TextView.setIconifiedText(text: String, @DrawableRes iconResId: Int) {
val clickableSpan: ClickableSpan = object : ClickableSpan() {
override fun onClick(textView: View) {
Log.d("", "onClick: ")
}
}
SpannableStringBuilder("$text#").apply {
setSpan(
ImageSpan(context, iconResId, DynamicDrawableSpan.ALIGN_BOTTOM),
text.length,
text.length + 1,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
)
setSpan(clickableSpan, text.length, text.length + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
}.let {
setText(it)
movementMethod = LinkMovementMethod.getInstance()
}
}
用法:
textView.setIconifiedText("your text", R.drawable.icon);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.