プログラムで作成された「リスト」の構造:
ScrollView
->LinearLayout (itemRow)
-->LinearLayout (itemTitle)
--->TextView (title)
--->TextView (price)
--> (other layouts)...
... and start again with itemRow
タイトル TextView のテキストが正しく折り返されている場合、価格(無料)は表示されません。
コード:
LayoutParams p=new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.MATCH_PARENT);
TextView title=new TextView(ctx);
title.setText(e.getTitle());
title.setTextAppearance(ctx, R.style.eList_Title);
TextView price=new TextView(ctx);
price.setPadding(2, 1, 1, 1);
price.setSingleLine(true);
if (e.getPrice().doubleValue()==0) {
price.setText('('+getString(R.string.e_free)+')');
price.setTextColor(colorGreenFree);
} else {
price.setText('('+NumberFormat.getCurrencyInstance().format(e.getPrice())+')');
price.setTextColor(Color.RED);
}
LinearLayout llTitle=new LinearLayout(ctx);
llTitle.setBackgroundResource(R.drawable.gradient_silver_red);
llTitle.setLayoutParams(llpMatchParentWrapContent);
llTitle.addView(title);
llTitle.addView(price);
注: if price.setSingleLine(true); が削除され、次の結果が得られます。
PD: RelativeLayout を試してみましたが、同じ問題があります。