我想在ListView
item中動態創建多個TextView
。假設我使用LinearLayout
它會創建水平或垂直的textview。我想要多個textview與包裝。我如何創建這樣的請分享您的寶貴意見,動態顯示多個文本的Android listview項目?
下面的屏幕圖像。
注: 每個的TextView有點擊動作
麥克投8中,拉拉投9喜歡用包木窗conetxt個別文本。
我想在ListView
item中動態創建多個TextView
。假設我使用LinearLayout
它會創建水平或垂直的textview。我想要多個textview與包裝。我如何創建這樣的請分享您的寶貴意見,動態顯示多個文本的Android listview項目?
下面的屏幕圖像。
注: 每個的TextView有點擊動作
麥克投8中,拉拉投9喜歡用包木窗conetxt個別文本。
linearLayout中有什麼問題,whit textviews?但我認爲,您真正需要的是可跨越字符串,在這種情況下,您可以設置格式(顏色,字體大小,樣式以及您想要的內容,以及每個單詞的onClick操作,並且只需要一個文本視圖。
如何通過多個點擊動作顯示一個文本視圖?你能簡單介紹一下嗎?謝謝 –
我有一個自定義視圖(合併xml),其中包含文本視圖(原來它是一個更復雜的視圖)。 我這樣的自定義視圖類 – user3057944
我有一個包含一個文本視圖(本來這是一個比較複雜的視圖)的自定義視圖(合併XML)。 我的自定義視圖這樣
公共類實例類擴展的LinearLayout {
保護上下文的背景下;
protected TextView titleView;
public Example(Context context) {
super(context);
this.context = context;
LayoutInflater inflater = (LayoutInflater) `enter code here`context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.bloghu_title_layout, this, true);
this.setOrientation(LinearLayout.VERTICAL);
titleView = (TextView) getChildAt(0);
}
public void setBlogTitle(String blogTitle, final String blogUrl, String author, final String authorUrl) {
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
spannableStringBuilder.append(blogTitle.toUpperCase());
spannableStringBuilder.append("/");
spannableStringBuilder.setSpan(new RelativeSizeSpan(1.5f), 0, blogTitle.length() + 2, 0);
spannableStringBuilder.append(author);
spannableStringBuilder.setSpan(new RelativeSizeSpan(1.2f), spannableStringBuilder.length() - author.length(), spannableStringBuilder.length(), 0);
spannableStringBuilder.setSpan(new NonUnderlineClickableSpan() {
@Override
public void onClick(View widget) {
Log.d("span", blogUrl);
}
}, 0, blogTitle.length(), 0);
spannableStringBuilder.setSpan(new NonUnderlineClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(context, authorUrl, Toast.LENGTH_SHORT).show();
}
}, spannableStringBuilder.length() - author.length(), spannableStringBuilder.length(), 0);
spannableStringBuilder.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.index_orange)), 0, blogTitle.length(), 0);
spannableStringBuilder.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.black)),
spannableStringBuilder.length() - author.length(), spannableStringBuilder.length(), 0);
titleView.setMovementMethod(LinkMovementMethod.getInstance());
titleView.setText(spannableStringBuilder, BufferType.SPANNABLE);
}
}
的NonUnderlineClickableSpan()是一個擴展ClickAbleSpan(),它只是因爲我不想強調可點擊文字,結束它,你必須重寫一個空的onclick方法: 公共類NonUnderlineClickableSpan擴展ClickableSpan {
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(ds.linkColor);
ds.setUnderlineText(false); // set to false to remove underline
}
@Override
public void onClick(View widget) {
// TODO Auto-generated method stub
}
正如你在例類看,你可以設置一個新的NonUnderlineClickableSpan,在其加入onClick()方法,你可以設置爲發生什麼,比你要設置的第一和cl的最後一個字符可惡的跨度和一個標誌(這是最後一個參數,在這種情況下爲0)。
Whit ForegroundSpan你可以設置字體顏色,相對大小範圍,你可以設置不同的文本大小,並且有很多span文本樣式並使其交互,但它是一個非常不足的文檔。
我還沒有找到關於這個主題的好教程,所以如果有人知道一個,請讓我知道:)。
這是您感興趣的教程嗎? http://blog.stylingandroid.com/archives/177或http://flavienlaurent.com/blog/2014/01/31/spans/? – frozenkoi
非常感謝,特別是第二個! – user3057944
如果要包裝,請使用單個多行文本視圖。 –
@GabeSechan我有每個文本視圖的點擊動作 –