首页 > 其他分享 >Android 妙用TextView实现左边文字,右边图片

Android 妙用TextView实现左边文字,右边图片

时间:2023-07-19 20:57:13浏览次数:64  
标签:文字 妙用 效果 实现 设置 Android TextView 图标

原文: Android 妙用TextView实现左边文字,右边图片 - Stars-One的杂货小窝

有时候,需要文字在左边,右边有个箭头,我个人之前会有两种做法:

使用线性布局来实现

或者使用约束布局,一个左对齐,一个右对齐

这几天突然想到是否可以使用TextView的设置图标的方式实现,研究发现确实可以实现我的需求,也是记录下

文字和图标左右显示

效果:

代码:

<TextView
	android:id="@+id/tvRate"
	style="@style/textStyle18"
	android:padding="20dp"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:drawableTint="@color/white"
	android:drawableEnd="@mipmap/universal_right"
	android:text="Rate our app"/>
  • drawableTint 设置图标着色
  • drawableEnd 设置右边图标

如果想要文字和图标之间有间距,可以通过设置drawablePadding属性来实现

drawablePadding用来设置图标的内边距

当然,因为整个都是一个TextView,所以文字宽度就比较好固定,默认到达图标左边会自动换行

也可以设置限制一行,都可以

文字和图标上下显示

除了上面的左右显示,也可以上下显示,这里就给个上下显示的实现效果

效果:

代码:

<TextView	
	android:gravity="center_horizontal"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:drawableTop="@mipmap/function_jiasu"
	android:text="Boost"
/>

这里因为默认文字不是水平居中的,所以通过gravity设置为水平居中,不然就是文本和图标靠左了..

勾选效果

之前也是说过可以通过view的select状态和selector来实现勾选变换图标的效果

如果是简单的勾选效果,用textview也可以搞定,如下效果所示

代码:

<TextView
	android:id="@+id/tvcheck"
	style="@style/textStyle18"
	android:padding="20dp"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:drawableEnd="@drawable/selector_node_select"
	android:text="Rate our app"/>

通过代码修改此TextView的isSelect属性即可更改图标效果

总结: 上面说的这种方法其实存在一定局限性,比较适合简单的布局,不过可以避免布局层次过多,可以优化布局加载的时间

标签:文字,妙用,效果,实现,设置,Android,TextView,图标
From: https://www.cnblogs.com/stars-one/p/17565499.html

相关文章

  • 更改android studio sdk 下载
    更改AndroidStudioSDK下载路径配置在使用AndroidStudio开发Android应用时,我们经常需要下载和更新AndroidSDK以获取最新的开发工具和资源。默认情况下,AndroidStudio会将SDK下载到用户主目录下的一个隐藏文件夹中。然而,有时我们可能希望将SDK下载到其他位置,比如一个更大的磁盘......
  • 使用fossa工具扫描Android配置
    使用fossa工具扫描Android配置教程作为一名经验丰富的开发者,你可以帮助那些刚入行的小白们解决问题和指导他们。这篇文章将教会你如何使用fossa工具来扫描Android配置。让我们一起来看看整个流程吧!整个流程以下是使用fossa工具扫描Android配置的步骤。我们将使用表格来展示每个......
  • Android GO 版本源码中preferred network type显示
    AndroidGO版本源码中preferrednetworktype的显示作为一名经验丰富的开发者,我将向你解释如何在AndroidGO版本的源码中实现"preferrednetworktype"的显示。下面是实现这个功能的步骤:步骤概览步骤动作步骤1创建一个新的Android项目步骤2添加必要的权限步骤......
  • Android Chart
    AndroidChartAndroidChart是一个用于在Android应用程序中显示图表的开源库。它提供了各种类型的图表,包括折线图、柱状图、饼图等。这些图表可以帮助开发人员将复杂的数据可视化,使用户更容易理解和分析数据。安装AndroidChart库首先,我们需要在项目的build.gradle文件中添加以......
  • Android 10 activity启动流程
    Android10Activity启动流程1.概述在Android开发中,Activity是用户与应用交互的主要界面,了解Activity启动的流程对于开发者来说非常重要。本文将介绍Android10中Activity的启动流程,并提供相应的代码示例。2.Activity启动流程概览下表展示了Android10中Activity启动的主要步......
  • A failure occurred while executing com.android.build.gradle.tasks.PackageAnd
    Afailureoccurredwhileexecutingcom.android.build.gradle.tasks.PackageAnd在Android开发过程中,我们经常会遇到各种各样的错误和异常。其中一个常见的错误是“Afailureoccurredwhileexecutingcom.android.build.gradle.tasks.PackageAnd”。在本篇文章中,我们将讨论这个......
  • @JavascriptInterface传过来键值对,Android这边用什么类型接收
    传输键值对给Android的JavascriptInterface概述在Android开发中,我们经常需要在JavaScript和Java之间传输数据。一种常见的方式是通过使用@JavascriptInterface注解将Java方法暴露给JavaScript调用。这种方式可以实现双向通信,并且非常灵活。本文将介绍如何使用@JavascriptInterfac......
  • <data android:scheme= 可以填多个吗
    Android中的Scheme在Android开发中,Scheme是一种用于标识应用程序组件之间通信的协议。它允许应用程序通过特定的URL来启动其他应用程序或执行特定的操作。Scheme通常用于实现应用程序内部的深层链接或与外部应用程序的交互。Scheme的基本概念在Android中,Scheme是通过在Intent中......
  • Android可以提问的问题
    Android可以提问的问题实现流程为了实现Android可以提问的问题功能,我们可以采用以下步骤:步骤描述1创建一个包含问题和答案的数据库2创建一个界面用于显示问题3创建一个界面用于输入答案4实现问题和答案的交互逻辑下面我们将逐步介绍每一步需要做的事情......
  • Android开发RXJava
    Android开发RXJava实现流程下面是实现"Android开发RXJava"的流程表格:步骤描述1导入RxJava库2创建Observable对象3创建Observer对象4使用subscribe()方法订阅Observable和Observer下面将详细介绍每个步骤需要做的事情以及对应的代码和注释。步骤1:导入R......