Android layout_weight layout_width ,Listview单行特定textview省略
来源:互联网 发布:流量劫持 sql注入 编辑:程序博客网 时间:2024/05/16 17:29
这里讲两个问题:
1 如何实现多个 TextView 在同一行,当长度太长时,选择省略其中的某一个
2 当layout_weight 设置后是否需要设置layout_width
先上效果图:
这里需要省略第一个字串。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="80dp" android:gravity="center" style="@style/single_setting_line_style" android:baselineAligned="false"> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:gravity="center" android:layout_weight="1" android:orientation="horizontal" android:layout_marginLeft="@dimen/list_item_padding_left"> <ImageView android:id="@+id/avatar_watch_contact" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginLeft="@dimen/list_item_padding_left" android:layout_weight="1"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical"> <TextView android:id="@+id/name_watch_contact" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="father" android:textSize="@dimen/title_text_size" android:ellipsize="end" android:singleLine="true" android:textColor="@color/text_color_list_property_value"/> <TextView android:id="@+id/me_watch_contact" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/grey" android:textSize="@dimen/value_text_size" android:text="@string/me_text_contact_activity"/> <TextView android:id="@+id/admin_watch_contact" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/text_color_light_blue" android:textSize="@dimen/value_text_size" android:text="@string/admin_text_contact_activity"/> <ImageView android:id="@+id/is_bind_user" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:src="@drawable/icon_lianjie"/> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp"> <TextView android:id="@+id/phone_watch_contact" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="@dimen/value_text_size" android:textColor="@color/text_color_list_property_value" android:text="12345678900"/> </LinearLayout> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="80dp" android:gravity="center_vertical" android:paddingRight="@dimen/list_item_padding_right"> <ImageView android:id="@+id/skill_watch_contact" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/skill_right"/> </LinearLayout></LinearLayout>
java代码:
@Overridepublic View getView(final int position, View convertView, ViewGroup parent) { WatchContact watchContact = mList.get(position); Holder holder; if(convertView == null) { holder = new Holder(); convertView = mInflater.inflate(R.layout.item_watch_contact, null); holder.skill = (ImageView) convertView.findViewById(R.id.skill_watch_contact); holder.avatar = (ImageView) convertView.findViewById(R.id.avatar_watch_contact); holder.name = (TextView) convertView.findViewById(R.id.name_watch_contact); holder.phone = (TextView) convertView.findViewById(R.id.phone_watch_contact); holder.me = (TextView) convertView.findViewById(R.id.me_watch_contact); holder.admin = (TextView) convertView.findViewById(R.id.admin_watch_contact); holder.isBIndView = (ImageView) convertView.findViewById(R.id.is_bind_user); convertView.setTag(holder); } else { holder = (Holder)convertView.getTag(); } convertView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startContactDetailsActivity(mList.get(position), VIEW); } }); holder.avatar.setImageResource( getHeadDrawableId(watchContact.getAvatarId())); holder.phone.setText(watchContact.getPhone()); holder.name.setText(watchContact.getName()); if(watchContact.getPhone().equals(AccountManager.getInstance().getUser().getPhone())) { holder.me.setVisibility(View.VISIBLE); }else { holder.me.setVisibility(View.GONE); } int type = watchContact.getType(); switch(type){ case WatchContact.ContactType.TYPE_ADMIN: holder.isBIndView.setVisibility(View.VISIBLE); holder.admin.setVisibility(View.VISIBLE); break; case WatchContact.ContactType.TYPE_BIND_USER: holder.isBIndView.setVisibility(View.VISIBLE); holder.admin.setVisibility(View.GONE); break; default: holder.isBIndView.setVisibility(View.GONE); holder.admin.setVisibility(View.GONE); } return convertView;}class Holder { ImageView avatar; ImageView skill; ImageView isBIndView; TextView name; TextView phone; TextView me; TextView admin;}
如果仅仅是一行,那问题还好,但是如果要在listview里面,可能要麻烦一点了。动态的刷新可能会让界面不如你想的那样变化。
关于第二个问题,如果按照Android推荐的layout_weight 设置后 设置layout_width = 0dp,当listview item 过多时,显示会有问题,设置为wrap_content时则没有问题。
按照比例来时,刷新是有问题的。
0 0
- Android layout_weight layout_width ,Listview单行特定textview省略
- android中textview单行显示,多余的省略
- android中textview单行显示,多余的省略
- Android layout_width和layout_weight关系
- textview:单行显示,多余的省略
- Android布局中Layout_weight与layout_width、orientation
- listview属性之android:layout_width
- android:layout_width="wrap_content"让android:layout_weight="1"无效
- android:layout_width="0dp", android:layout_weight="1"
- layout_width与layout_weight
- Android layout_width和layout_weight组合之后呈现的视图
- layout_width和layout_weight的区别
- android textView文字过长,省略显示
- android textView文字过长,省略显示
- Android TextView 如何判断是否已经省略
- Android TextView文本的省略与显示
- Android TextView文字过长,省略显示
- 关于android:layout_weight= android:layout_width android:layout_height android:gravity的问题
- 欢迎使用CSDN-markdown编辑器
- nodejs 中的 NODE_PATH
- java初级
- STM32 NVIC 抢占优先级和响应优先级
- SetRegistryKey
- Android layout_weight layout_width ,Listview单行特定textview省略
- cmd
- Android学习之路:控件总结
- Ubuntu下安装mysql
- ListView 实现全选功能
- python 图像识别
- 广告牌
- HBase-1. 搭建过程和集群安装注意事项
- Android属性动画完全解析(上),初识属性动画的基本用法