我的Listview(like this one)上有三行项目,但我希望将其更改为this other。我想要做的是在副标题(黑色标记)和补充文本(灰色标记)之间使用这个“ - ”分隔符,我希望补充文本位于第二行和第三行。
这是我用于我的项目的代码(不包括头像的代码)
<TextView
android:id="@+id/txtNombrePDV"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="La bendición"
android:textColor="@color/colorPrimaryText"
android:ellipsize="marquee"
android:lines="1"
android:scrollHorizontally="true"
android:marqueeRepeatLimit="marquee_forever"
android:textSize="@dimen/list_primary_text" />
<TextView
android:id="@+id/txtNombreMunicipio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stack Overflow"
android:textColor="@color/colorPrimaryText"
android:ellipsize="marquee"
android:lines="1"
android:scrollHorizontally="true"
android:marqueeRepeatLimit="marquee_forever"
android:textSize="@dimen/list_secondary_text"
/>
<TextView
android:id="@+id/txtDireccion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit"
android:textColor="@color/colorSecondaryText"
android:ellipsize="marquee"
android:lines="1"
android:scrollHorizontally="true"
android:marqueeRepeatLimit="marquee_forever"
android:textSize="@dimen/list_secondary_text"
/>
</LinearLayout>
答案 0 :(得分:0)
结合Subheader&amp;的文本。免费文本,使用Spannable String将颜色设置为相应的文本。 Refer this spannable string example以便更好地理解
答案 1 :(得分:0)
你的布局应该是这样的。
<RelativeLayout
android:padding="8dp"
android:layout_gravity="center"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tvTitle"
android:layout_weight="1"
android:textSize="18dp"
android:textColor="@color/subHead"
android:layout_marginRight="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"/>
<TextView
android:layout_below="@+id/tvTitle"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Subhead"
android:textSize="20sp"
android:layout_marginTop="8dp"
android:id="@+id/subHeader"
android:textColor="@color/colorText"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
和java代码应如下所示。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int color = ContextCompat.getColor(this,R.color.subHead);
String title = "Brunch this weekend?";
String name = "Ali Connors";
String message = "I will be in weekends so get set ready. Will meet you yesterday";
String subTitle = name+" - "+message;
SpannableString spannableString = new SpannableString(subTitle);
spannableString.setSpan(new ForegroundColorSpan(color),0,name.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView subTitleTextView = findViewById(R.id.subHeader);
TextView titleTextView = findViewById(R.id.tvTitle);
subTitleTextView.setText(spannableString);
titleTextView.setText(title);
}
颜色
<color name="subHead">#252525</color>
<color name="colorText">#797979</color>