首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

调用setCompoundDrawables()不会显示Compound Drawable

调用setCompoundDrawables()方法不会显示Compound Drawable,可能是因为在调用该方法之前,没有正确设置Compound Drawable的资源。Compound Drawable是一种在TextView或Button等文本控件中显示图像的方法,它可以在文本的上、下、左、右四个方向上显示图像。

在Android中,可以使用setCompoundDrawables()方法来设置Compound Drawable。该方法有两种重载形式:

代码语言:java
复制
public void setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom);
public void setCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top, Drawable right, Drawable bottom);

在调用setCompoundDrawables()方法之前,需要先创建一个Drawable资源,并将其作为参数传递给该方法。例如,可以使用以下代码来创建一个Drawable资源:

代码语言:java
复制
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.your_drawable);

然后,将创建的Drawable资源作为参数传递给setCompoundDrawables()方法:

代码语言:java
复制
textView.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null);

这样就可以在TextView的左侧显示Compound Drawable了。

需要注意的是,如果在调用setCompoundDrawables()方法之前没有正确设置Compound Drawable的资源,那么在运行时就不会显示Compound Drawable。此外,如果Compound Drawable的大小超过了文本控件的大小,也可能会导致Compound Drawable无法显示。因此,在使用Compound Drawable时,需要确保正确设置了资源和控件大小。

推荐的腾讯云相关产品:

  • 腾讯云对象存储(COS):提供可靠、高效、安全的云存储服务,适用于存储大量非结构化数据,如图片、视频、音频等。
  • 腾讯云CDN:提供全球内容分发网络服务,可以加速网站、应用、直播等内容的传输速度,提高用户访问速度。
  • 腾讯云云巢:提供一站式容器解决方案,支持容器的快速部署、运维和管理,适用于微服务架构的应用。

产品介绍链接地址:

相关搜索:安卓onCreateOptionsMenu永远不会被调用,因此菜单不会显示调用dismiss时,模式底表不会重新显示即使在调用draw时,也不会显示FigureCanvas当我调用angular时,它不会显示我的对象调用exit函数后,在反汇编中不会显示对printf的调用调用decisionBar()时,它不会将图像显示在屏幕上接口调用完成后,显示CircularProgressIndicator()不会停止Tkinter - My按钮不会调用该命令,并且没有显示错误即使在调用pygame.display.update()之后,Pygame显示也不会更新在函数内调用`odbc`连接不会显示在RStudio连接窗格中带有supertest的NestJS编译时不会显示“无法调用类型缺少调用签名的表达式”React原生我的应用程序不会显示API GET调用的任何结果通过a4j命令调用时,模式面板不会显示正确的注释链接调用另一个脚本时,日志输出不会显示在jupyter中Xcode 4.3.2不会在调试器中显示完整的调用者堆栈,只显示当前函数?使用JQuery调用时,追加的列表不会显示在另一个div中图像不会显示在我的react-native-map调用组件中。它只显示一个空的矩形?当我在View.VISIBLE之后调用View.GONE时,ProgressBar不会显示(但仅在较旧的手机上)成功后,即使数据变量显示正确的值,jQuery Ajax GET调用也不会刷新html页面上的数据在Flutter中,当我调用showSnackBar时,它会一直显示,直到我刷新页面。它不会自行消失
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

TextView的setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds的区别

摘要 我们都只TextView支持设置文字和图片同时显示,通常会联想到两种方法,一种是直接设置drawableXXX(Left, Top, Right, Bottom),四个方向的,还有一种是富文本的形式...直接设置图片,要么是xml直接设置,要么是java类里面动态设置,但是在动态设置的时候,经常会直接采用setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds...left, @Nullable Drawable top, @Nullable Drawable right, @Nullable Drawable bottom) {...,就是前者先这只了资源的大小,然后调用setCompoundDrawables,去显示图片资源, 简而言之: setCompoundDrawables 画的drawable的宽高是按drawable.setBound...()设置的宽高,所以必须先设置drawable的宽高,在调用该方法,才会显示 setCompoundDrawablesWithIntrinsicBounds是画的drawable的宽高是按drawable

1.5K10
  • 代码中修改TextView的DrawableLeft图片

    先把解决代码贴上来: Drawable weather = getResources().getDrawable(R.drawable.sunday); weather.setBounds...(0, 0, weather.getMinimumWidth(), weather.getMinimumWidth()); tv_choose_weather.setCompoundDrawables..._ww0"属性比一个ImageView+一个TextView方便多了,结果今天需要更换TextView的DrawableLeft图片时傻眼了,遍访名医后方得解法,记录如下: TextView有个方法叫setCompoundDrawables...Drawable可以通过getResources().getDrawable(id)方法得到,例如: Drawable weather = getResources().getDrawable(R.drawable.sunday...No setCompoundDrawables() 的参数Drawable对象,必须先调用setBounds(int left, int top, int right, int bottom)方法,设置好这个图片要绘制的矩形区域大小

    78040

    自定义View,带你撸一个带加载功能的按钮

    介绍一个带加载功能的按钮控件的实现原理,加载动画来自于CircularProgressDrawable 效果图(最终效果图在最后面) [strip] [strip] 实现原理 加载圆环就是用setCompoundDrawables...在一开始我们并没有设置它的位置 drawable.setBounds(0, 0, 80, 80) 那么我们应该如何将绘制居中显示文字的旁边?...mProgressDrawable.setBounds(0, 0, 80, 80); //先保存Bounds bounds = mProgressDrawable.copyBounds(); setCompoundDrawables...的英文一起居中的,一下看了TextView的源码发现setCompoundDrawables后会先划分出TextView左侧及右侧drawable需要的空间,然后再按照剩余的空间来居中显示,所以得到求最后通过位移得到的效果的英文文字状语从句...:drawable一起居中显示的。

    86500

    自定义PopupWindow实现Spinner

    spinner控件点击之后是以弹出dialog 的形式供我们选择,但我们其实更希望可以看到是下拉菜单的感觉,如下图所示: 要实现这种效果其实也不难,自定义一个popupwindow控件就可以解决问题 在显示...view.findViewById(R.id.item_thirty_tv); setViewOnClick(mThreeTv,mTenTv,mThirtyTv); //当popupwindow消失时调用该方法...OnDismissListener() {                  @Override         public void onDismiss() {             mStartPumpDelay.setCompoundDrawables...popupwindow mStartPopWindow.showSpPop(mStartPumpDelay); //改变右侧图标  mStartPumpDelay.setCompoundDrawables...); drawableRight = getResources().getDrawable(R.drawable.arrow_right); //这一步必须要做,否则不会显示

    43650

    Snackbar使用详解及其相关框架TSnackbar

    同时,它显示的吐司带有动画效果,从屏幕下方慢慢展开显示。     Goggle官方这样介绍:“SnackBars提供了一个轻量级的反馈操作。...他们在屏幕的底部显示一条简短的信息,如果是较大的设备就显示在左下角。SnackBar出现在屏幕中所有其他元素的上方,同一时间仅仅只有一条SnackBar”。...③Snackbar.LENGTH_INDEFINITE:永不消失除非手动调用dismiss()方法去除Snackbar。...Snackbar退出的原因是;意思是“Snackbar右划退出事件”,注意这个右划事件只有在父布局为CoordinatorLayout才会被触发,其他布局如LinearLayout、RelativeLayout等是不会出发的...该事件下Snackbar提出的原因是:通过手动调用了dismiss()方法。

    2.4K20
    领券