【Android】布局——图片紧随文字
来源:互联网 发布:360软件应用商店 编辑:程序博客网 时间:2024/06/06 05:10
【关键词】
Android
图片紧随文字
多行文字挤压图片
【问题】
- 实现如效果图的布局,其中
中间部分的文字和图片
是紧挨着的; - 要考虑适配情况,文字太多的时候,如果处理不当,图片会被挤压出去,看不到图片;
【效果图】
针对中间部分的文字和图片,在最左边和最右边都有内容(例如图片)的情况下该如何布局?
【分析】
- 如果TextView的宽度设置为 wrap_content ,那么drawableEnd设置的图片就可以紧随文字了;
- 为了让右边的编辑按钮保持在最右边,用LinearLayout来包含TextView,并使LinearLayout填充中间部分(用weight填充);
【解决方案】
- 参考代码
【代码】
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/cb_main_manager_status"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="16dp"
android:background="@drawable/main_manager_status"
android:button="@null"
android:focusable="false" />
<!-- 中间部分的图片和文字布局 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:paddingStart="8dp"
android:paddingEnd="0dp"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:gravity="center_vertical" >
<TextView
android:id="@+id/tv_main_manager_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:drawableEnd="@drawable/main_manager_timer"
android:drawablePadding="4dp"
android:text="this is first room"
android:textSize="14sp" />
</LinearLayout>
<ImageView
android:id="@+id/iv_main_manager_edit"
android:layout_width="48dp"
android:layout_height="match_parent"
android:contentDescription="@string/app_name"
android:paddingEnd="16dp"
android:paddingStart="16dp"
android:src="@drawable/main_manager_edit" />
</LinearLayout>
【扩展】
- 取消TextView上下左右的drawable ,
tvName.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
- 添加TextView文字右边的图片,
tvName.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.main_manager_timer, 0);
参考 setCompoundDrawablesRelativeWithIntrinsicBounds/android:drawableEnd - Add a Drawable to the End of Text, in a TextView, in Java
【参考资料】
0 0
- 【Android】布局——图片紧随文字
- Android自定义控件图片+文字布局
- padding——图片文字的自适应布局
- 关于 android 图片 文字 Button 自定义布局设置
- Android图片文字按钮
- android文字环绕图片
- android 图片加文字
- android分享图片文字
- Android图片、文字国际化
- Android界面布局文字水印
- CSS(4)——文字布局
- 网页布局中实现文字围绕图片
- html布局之 图片文字混排
- HTML/CSS实现文字环绕图片布局
- iOS UIButton 图片和文字布局调整
- iOS实现文字环绕图片textView布局
- 图片和文字垂直居中-flex布局
- Android 图片和文字布局,RadioButton有些地方比GridView好用些吧
- Vector清空数据与释放内存(.clear与.swap的区别与使用)
- vs mfc 点击父窗口的按钮,弹出子窗口
- git和cocos2dx基本配置
- Hadoop(一)使用Vagrant搭建linux环境
- spring boot (一) 服务基础搭建
- 【Android】布局——图片紧随文字
- MySQL设计规范
- hailstone sequence
- struts1.0 struts标签
- DX开发框架封装及Win32框架封装(个人练习版)
- 安卓中getApplicationContext()和this的区别
- c#学习笔记四 委托
- 在secureCRT中解决hbase spark shell退格不能删除问题
- markdown语法备份