java - 如何通过Java在Android中使用可绘制形状?

标签 java android

如果我有一个可绘制的形状:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
 android:shape="rectangle"> 
 <stroke android:width="2dp" android:color="#FFFFFFFF" />
 <gradient android:startColor="#DD000000" android:endColor="#DD2ECCFA" 
        android:angle="225"/> 

<corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" 
 android:topLeftRadius="7dp" android:topRightRadius="7dp"/> 
</shape> 

我将如何使用它作为 TextView 的背景?我尝试了类似下面的方法,但没有成功。

TextView jObjTv = new TextView(getActivity());
jObjTv.setBackgroundDrawable(findViewById(R.drawable.sample_box));

最佳答案

您发布的代码不起作用,因为可绘制对象不是 View ,也不是布局的一部分。

如果要使用该资源,需要调用textView.setBackgroundResource(R.drawable.sample_box)。如果要使用Drawable,则需要使用context.getResources().getDrawable(R.drawable.sample_box)创建Drawable。

关于java - 如何通过Java在Android中使用可绘制形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13039520/

相关文章:

java - Java 中的内存分配——声明与定义

java - 我可以泛化以下代码吗?

android - 使用部分字符串匹配进行 Firebase 查询

java - Java 中的希伯来语编码

java - Spring-MVC:找不到 HTTP 请求的映射

java - UrlRewriteFilter 规则不起作用

java - Websession 失效不适用于 Spring Boot 2.0.2

java - 如何将 map 聚焦到用户位置?

android nougat edittext 光标未在开始时对齐。它总是提示我到中心

java - 在 Android 中向 map 添加标记