相关疑难解决方法(0)

setBackground vs setBackgroundDrawable(Android)

我想设置一个视图的背景可绘制.有两种方法(据我所知):setBackgroundsetBackgroundDrawable.

当我使用时setBackground,它表示它已经在API级别16中添加,但我的项目的最小SDK版本是7.我认为它不适用于16以下的任何东西,我是对的吗?但是当我使用setBackgroundDrawable时,它表示它已被弃用.

我应该用什么?

android background view drawable

256
推荐指数
8
解决办法
20万
查看次数

不推荐使用setBackgroundDrawable()

所以我的sdk从15到21,当我打电话时setBackgroundDrawable(),Android Studio告诉我它已被弃用.

我想过用它来绕过它:

int sdk = android.os.Build.VERSION.SDK_INT;

if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
    layout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img_wstat_tstorm));
} else {
    layout.setBackground(getResources().getDrawable(R.drawable.img_wstat_tstorm));
}
Run Code Online (Sandbox Code Playgroud)

但是,我在"setBackground()"收到错误.

那么,你会如何应对呢?

android deprecated deprecation-warning

74
推荐指数
6
解决办法
7万
查看次数

如何在android中改变可绘制形状的颜色

我正在开发小型Android应用程序,其中我将drawable资源设置为线性布局的背景.现在,我想要做的是动态地改变线性布局的背景颜色,但是在可绘制资源中.我的代码看起来像:

//  bcd.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item>        
    <shape>
        <gradient
            android:endColor="#22000000"
            android:startColor="#22000000"
            android:angle="270" />
        <stroke
            android:width="3dp"
            android:color="@color/white" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>
Run Code Online (Sandbox Code Playgroud)

<LinearLayout 
android:id="@+id/lin_llt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
Run Code Online (Sandbox Code Playgroud)

我在我的活动中设置了线性布局的背景,如下所示......

parentLayout = (LinearLayout) view.findViewById(R.id.lin_llt);
parentLayout.setBackgroundResource(R.drawable.bcd);
Run Code Online (Sandbox Code Playgroud)

现在我想做什么我想改变我的可绘制资源的颜色,这意味着改变我的线性布局的颜色,圆角和填充定义在drawable ..

我按照以下方式尝试了这个

ShapeDrawable bgShape = (ShapeDrawable )parentLayout.getBackground();
bgShape.getPaint().setColor(Color.BLACK);
Run Code Online (Sandbox Code Playgroud)

但它不适合我.任何其他解决方案

那怎么办......需要帮助......谢谢......

android background drawable android-linearlayout

27
推荐指数
2
解决办法
5万
查看次数

如何在android中从上到下显示渐变效果

任何人都可以告诉如何在android中从上到下显示渐变效果.可以任何人提供示例

谢谢

android

14
推荐指数
2
解决办法
2万
查看次数

Android Gradient应用程序标题栏

可能重复:
如何在自定义标题栏上以编程方式设置背景颜色渐变?

我想在应用程序标题栏中使用渐变颜色.我该怎么做?

提前致谢.

android titlebar

0
推荐指数
1
解决办法
5067
查看次数