需求
效果见图:
过程
要求图片靠右对其,采用RelativeLayout
结果不理想,第二行会同样靠右对齐,很丑,,
想了想,应该可以通过采用wrap_content,然后用layout_gravity靠右,gravity靠左的方法实现,but虽然TextView宽度采用的是wrap_content,但是因为父布局是RelativeLayout,所以采用下面这两个属性的时候宽度会自动变撑满这俩中间的部分,
android:layout_toLeftOf=”@id/iv_icon”
android:layout_toRightOf=”@id/tv_left”
而且重点是在相对布局中没有layout_gravity的属性,所以这个想法夭折了。。
然后和人讨论,有人提出添加监听,在文本改变后用 mTextView.getLineCount();获取行数,如果大于两行,再改变gravity为靠右显示
if(mTextView.getText()!=null){
int lines = mTextView.getLineCount();
System.out.println("LoginActivity.initView-----------linecount"+lines);
if (lines > 1) {
mTextView.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL);
}