我想知道你是否有人知道如何通过编码改变Android中图像的颜色。
例如:
Facebook的工具栏上有一个灰色图标:
但点击后,它变为蓝色:
有没有办法通过编码实现这种转变?或者它只是用新图像更改图标/可绘制。
谢谢。
答案 0 :(得分:1)
您可以在每次点击时更改图片,或者可能也对您有用。
final ToggleButton test = (ToggleButton) findViewById(R.id.TEST);
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
test.setBackgroundColor(Color.parseColor("#FFFFFF")); // changes background color of "toggle button" widget to white when clicked!
}
});
所以要打破它;当点击切换按钮时,切换按钮的背景颜色将变为白色A.K.A“#FFFFFF”< - 别忘了“”! Heres a picture of whats happening
当然除了背景之外,还有一些选择。
PS我会评论以防这不是你想要的但我的代表太低了:-)让我知道这是否有用!快乐的编码!
答案 1 :(得分:1)
这完全是关于图标的颜色。如果需要,可以根据要从网站下载的颜色(黑白)
执行此操作答案 2 :(得分:1)
您可以使用setColorFilter
更改色调album=ForeignKeyAcrossDb(Singer, db_constraint=False, on_delete=models.DO_NOTHING)
答案 3 :(得分:1)
最后,我得到了解决方案。 我所做的,是创建一个新的更大的ImageView来设置一个“假的”背景,所以每次你点击第一个ImageButton,你设置第二个的背景。
结果如下:
以下是获取此行为所需的代码:
XML:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="1">
<ImageView
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:layout_width="70dp"
android:layout_height="50dp"
android:id="@+id/background_1_perfil"
/>
<ImageButton
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="15dp"
android:background="@drawable/bandera_1"
android:id="@+id/bandera1_perfil"
android:layout_weight="1.47" />
爪哇:
final ImageButton bandera_1 = (ImageButton) findViewById(R.id.bandera1_perfil);
final ImageView fondo_bandera_1 = (ImageView) findViewById(R.id.background_1_perfil);
bandera_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (background_1 == false) {
fondo_bandera_1.setBackgroundResource(R.drawable.fondodegradado);
background_1 = true;
} else {
fondo_bandera_1.setBackgroundColor(Color.parseColor("#ffffff"));
background_1 = false;
}
}
});