有没有办法突出显示ImageButton何时被按下?
我在Java代码中定义了一个TableLayout.对于每一行,我显示三个ImageButtons.按下其中一个按钮时,背景颜色会发生变化.为了很好地显示它,我设置了10px的填充.
我现在遇到的问题是,如果你按下彼此相邻的两个按钮,你就不会看到按钮之间的中断.所以我想知道,是否有可能在ImageButtons或其他解决方案上设置保证金?
我有一个ImageButton.代码是 -
ImageButton shareButton = new ImageButton(this);
shareButton.setBackgroundResource(android.R.drawable.ic_menu_share);
RelativeLayout.LayoutParams shareParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
shareParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, navigationLogo.getId());
shareButton.setLayoutParams(shareParams);
Run Code Online (Sandbox Code Playgroud)
我需要改变它的宽度.但是ImageButton和布局参数都没有setWidth方法.在没有答案的情况下在网上看了很多.
我已经为epaper/emagazine制作了一个应用程序,其中我想为电子邮件作曲家提供一个图像按钮,如果我点击该按钮,它将直接打开电子邮件作曲家,将该页面的所有数据插入电子邮件作曲家消息正文,仅询问收件人地址.
我有输出,但它打开弹出列表,而不是电子邮件,询问消息和蓝牙.
这是我的代码:
final Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("text/plain");
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "lets.think.android@gmail.com" });
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "App Error Report");
emailIntent.putExtra(Intent.EXTRA_TEXT, "stacktrace");
activity(Intent.createChooser(emailIntent, "Send error report..."));
Run Code Online (Sandbox Code Playgroud) 您好我有一个图像按钮linearButton,它在XML中有一个背景可绘制集.我想有条件地替换代码中的背景,但它永远不会发生!
Drawable replacer = getResources().getDrawable(R.drawable.replacementGraphic);
linearButton.setBackgroundDrawable(replacer);
Run Code Online (Sandbox Code Playgroud)
这似乎是无效的,是否有一个图像按钮的"重新加载"功能,我必须在视觉上改变之前调用它们?
当我点击它时,我使用以下选择器来更改图像按钮的图像.但这在大多数时候都不起作用.只有几个按钮才有效.不知道这里的原因是什么
mapselector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Button Pressed -->
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/mapiconover"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
在按钮中,
我是这样做的,
<ImageButton
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:id="@+id/btnMap" android:layout_centerInParent="true" android:src="@drawable/mapselector"
android:background="@drawable/map" android:scaleType="fitXY"
android:layout_alignParentBottom="true">
</ImageButton>
Run Code Online (Sandbox Code Playgroud)
但是当我点击时,静止图像并没有改变.
对此有何猜测?
当您按下它时,如何使ImageButton图像更改其图像?
我正在开发和Android应用程序.我有一个包含大量图像按钮的主菜单,每个图像按钮都会让用户点击一个新视图.
我遇到的问题是每个图标周围都是一个有色矩形,当点击时会变成淡蓝色.如何在.xml布局文件中删除此透明方块?
提前谢谢了,
我扩展了LayerDrawable以在按下ImageButtons时自动更改Alpha值:
protected class CustomDrawable extends LayerDrawable {
protected int _pressedAlpha = 60;
public CustomDrawable(Drawable d) {
Log.d(TAG, "constructor");
super(new Drawable[] { d });
}
/**
* Wenn sich der Status auf pressed ändert, soll der Alphawert sich auf _pressedAlpha ändern. Wenn sich der
* Status von pressed wieder auf normal ändert soll der ursprüngliche Alphawert gesetzt werden
*/
@Override
protected boolean onStateChange(int[] states) {
Log.d(TAG, "status changed: " + states);
boolean pressed = false;
for (int state : states) { …Run Code Online (Sandbox Code Playgroud) 更改ImageButton src
这是标签的xml:
<ImageButton
android:layout_width="0dp"
android:id="@+id/infobutton"
android:layout_weight="1"
android:src="@drawable/edit"
android:scaleType="fitCenter"
android:layout_height="60dp" />
Run Code Online (Sandbox Code Playgroud)
这就是我按下按钮时对按钮做的事情
button.setBackgroundResource(R.drawable.save);
Run Code Online (Sandbox Code Playgroud)
按下之前的ImageButton
按下后的图像:
我希望按钮只有保存图片和它适合fitCenter,为什么其他src没有被新的src取代?