相关疑难解决方法(0)

如何在Android按钮上以编程方式设置drawableLeft?

我正在动态创建按钮.我首先使用XML设置它们,我正在尝试使用下面的XML并使其编程.

<Button
    android:id="@+id/buttonIdDoesntMatter"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:text="buttonName"
    android:drawableLeft="@drawable/imageWillChange"
    android:onClick="listener"
    android:layout_width="fill_parent">
</Button>
Run Code Online (Sandbox Code Playgroud)

这就是我到目前为止所拥有的.除了可绘制之外,我可以做任何事情.

linear = (LinearLayout) findViewById(R.id.LinearView);
Button button = new Button(this);
button.setText("Button");
button.setOnClickListener(listener);
button.setLayoutParams(
    new LayoutParams(
        android.view.ViewGroup.LayoutParams.FILL_PARENT,         
        android.view.ViewGroup.LayoutParams.WRAP_CONTENT
    )
);      

linear.addView(button);
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-2.2-froyo

407
推荐指数
8
解决办法
24万
查看次数

调用setCompoundDrawables()不会显示Compound Drawable

调用setCompoundDrawables方法后,未显示复合Drawable ..

Drawable myDrawable = getResources().getDrawable(R.drawable.btn);
btn.setCompoundDrawables(myDrawable, null, null, null);
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

android android-layout android-drawable

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

单击时如何在Android中更改按钮的颜色?

我正在开发Android应用程序.我想让4个按钮水平放置在屏幕的底部.在这4个按钮中,2个按钮上有图像.按钮的边框应为黑色,边框应尽可能薄.当我单击按钮时,我希望按钮的背景应该更改为蓝色而不更改边框的颜色,并且应该保留该颜色一段时间.如何在Android中实现此方案?

android

75
推荐指数
7
解决办法
25万
查看次数

以编程方式更改android中矢量的fillColor

我想以编程方式在Android中编辑矢量文件的填充颜色.

在xml文件中,我可以使用android:fillColor属性设置我的颜色, 但我想在运行时更改颜色.

有什么例子吗?谢谢.

android vector android-vectordrawable

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

以编程方式更新android Vector Drawable

我有一个VectorDrawable由9个矩形组成.这被定义为drawables文件夹中的XML.我将此设置作为我在xml中声明的ImageView的背景.android:src="@drawable/squares00" 我想在运行时以编程方式更改一个或多个方块的颜色.我知道有办法使用VectorDrawable动画来做到这一点.但我想知道是否有更简单的方法来访问我在java中的vectorDrawable,更新其属性(设置一个或多个矩形的填充颜色),然后使用更新的VectoDrawable更新图像背景.我的目标是Android API 21(棒棒糖)

android android-vectordrawable

28
推荐指数
1
解决办法
1万
查看次数

如何使用带有圆边的对角线渐变创建自定义绘图?

我试图使用xml制作自定义drawable,如附加图像 在此输入图像描述

以下是我所做的两种方法,

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="30dp" />
<solid android:color="@color/colorAccent" />
<stroke
    android:width="2dp"
    android:color="@color/colorAccent" />
<gradient
    android:angle="135"
    android:endColor="#000"
    android:startColor="#ffff"
    android:type="linear" />
</shape>
Run Code Online (Sandbox Code Playgroud)

通过这样做我可以得到正确的效果,但颜色似乎合并,我想要两种颜色没有任何合并效果,然后我尝试这样,

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white">
    <shape android:shape="oval">
        <corners android:radius="@dimen/size_30dp" />
    </shape>
</item>
<item>
    <rotate
        android:fromDegrees="35"
        android:pivotX="0%"
        android:pivotY="100%">
        <shape android:shape="rectangle">
            <solid android:color="@color/textColorGreyExtraLight" />
        </shape>
    </rotate>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

这种方法实际上搞砸了UI,我也在圆边上妥协,

所以,我有什么方法可以使用XML绘制这种效果?

任何形式的帮助将不胜感激.

FYI可绘制的宽度和高度会有所不同,因此对角线应始终从左下边缘到右上边缘.

谢谢

xml android gradient android-layout

9
推荐指数
1
解决办法
4418
查看次数

AndroidX BottomAppBar导航图标颜色

我在布局中定义了一个底栏:

<com.google.android.material.bottomappbar.BottomAppBar
    android:id="@+id/bottomBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    app:navigationIcon="@drawable/ic_menu_black_24dp" />
Run Code Online (Sandbox Code Playgroud)

导航图标是从"new vector drawable"向导生成的通用图标.有没有办法对它应用色调?

底栏不是活动操作栏.

到目前为止我尝试过的:

  • 应用了一个覆盖textColorPrimary颜色的主题
  • 应用了一个覆盖controlColorNormal颜色的主题

如果有一个解决方案也适用于通过从XML加载菜单(使用inflateMenu()replaceMenu())提供的图标,那将是完美的.

android material-design android-bottomappbar androidx

6
推荐指数
1
解决办法
372
查看次数

以编程方式更改android按钮可绘制图标颜色

我想以编程方式从我的按钮更改我的图标颜色...

在我的xml上,我有:

            android:drawableTint="@color/colorPrimary"
            android:drawableTop="@drawable/ic_car_black_24dp"
Run Code Online (Sandbox Code Playgroud)

设置图标并设置图标颜色...但我想从我的java端更改图标颜色...

有人能帮我吗?

        <android.support.v7.widget.AppCompatButton
            android:id="@+id/bt_search_vehicle_car"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="@dimen/eight_density_pixel"
            android:layout_weight="1"
            android:background="@drawable/background_rounded_blue_border"
            android:drawableTint="@color/colorPrimary"
            android:drawableTop="@drawable/ic_car_black_24dp"
            android:padding="@dimen/eight_density_pixel"
            android:text="Carros"
            android:textAllCaps="false"
            android:textColor="@color/colorPrimary" />
Run Code Online (Sandbox Code Playgroud)

android

5
推荐指数
4
解决办法
8272
查看次数

以编程方式更改Button Drawable

我有一个左侧可拉的按钮:

<Button
    android:id="@+id/post_feeling_btn"
    android:background="@color/white"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="4dp"
    android:drawableLeft="@drawable/feeling_btn"
    android:gravity="left|center_vertical"
    android:textColor="@color/gray"
    android:text="Sentimento"/>
Run Code Online (Sandbox Code Playgroud)

在我的简历方法中,我以编程方式更改按钮的文本:

Button setFeeling;
FeelingButton selectedFeeling;

@Override
public void onResume() {
    super.onResume();
    selectedFeeling = ((FeedActivity)getActivity()).getSelectedFeeling();
    if(selectedFeeling != null){
        setFeeling.setText(selectedFeeling.getFeeling());
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法改变我的drawable left并使用我在selectedFeeling对象中的图像以相同的方法设置图像?我正在寻找类似的东西:

setFeeling.setDrawable();
Run Code Online (Sandbox Code Playgroud)

android button drawable

3
推荐指数
1
解决办法
3482
查看次数