我正在动态创建按钮.我首先使用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) 调用setCompoundDrawables方法后,未显示复合Drawable ..
Drawable myDrawable = getResources().getDrawable(R.drawable.btn);
btn.setCompoundDrawables(myDrawable, null, null, null);
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我正在开发Android应用程序.我想让4个按钮水平放置在屏幕的底部.在这4个按钮中,2个按钮上有图像.按钮的边框应为黑色,边框应尽可能薄.当我单击按钮时,我希望按钮的背景应该更改为蓝色而不更改边框的颜色,并且应该保留该颜色一段时间.如何在Android中实现此方案?
我想以编程方式在Android中编辑矢量文件的填充颜色.
在xml文件中,我可以使用android:fillColor属性设置我的颜色, 但我想在运行时更改颜色.
有什么例子吗?谢谢.
我有一个VectorDrawable由9个矩形组成.这被定义为drawables文件夹中的XML.我将此设置作为我在xml中声明的ImageView的背景.android:src="@drawable/squares00"
我想在运行时以编程方式更改一个或多个方块的颜色.我知道有办法使用VectorDrawable动画来做到这一点.但我想知道是否有更简单的方法来访问我在java中的vectorDrawable,更新其属性(设置一个或多个矩形的填充颜色),然后使用更新的VectoDrawable更新图像背景.我的目标是Android API 21(棒棒糖)
以下是我所做的两种方法,
<?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可绘制的宽度和高度会有所不同,因此对角线应始终从左下边缘到右上边缘.
谢谢
我在布局中定义了一个底栏:
<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())提供的图标,那将是完美的.
我想以编程方式从我的按钮更改我的图标颜色...
在我的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) 我有一个左侧可拉的按钮:
<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)