标签: imagebutton

如何在焦点/按下时更改ImageButton的色调

我有一个ImageButton在我的应用程序,我需要在按钮时更改图像的色调pressed/focused.我有一个从XML文件ImageButton获取它的集合,src如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- pressed -->
    <item 
        android:state_pressed="true"
        android:tint="@color/black"
        android:drawable="@drawable/search"
        />

    <!-- focused -->
    <item 
        android:state_focused="true"
        android:tint="@color/black"
        android:drawable="@drawable/search"
        />

    <!-- default -->
    <item
        android:tint="@null"
        android:drawable="@drawable/search"
        />

</selector>
Run Code Online (Sandbox Code Playgroud)

但是,ImageButton按下或聚焦时不会应用色调- 图像只显示正常.黑色一直定义为黑色#000000.有任何想法吗?

android image tint selector imagebutton

57
推荐指数
4
解决办法
9万
查看次数

无法使用imagebutton单击listview行

我在listview上遇到了麻烦.它的项目(行)有图像按钮.imagebutton有"android:onClick"所以这个onclick事件正在运行,但点击行不起作用.如果我从行项目中删除图像按钮,单击行工作(列表视图具有正确的onclick列表器).我该如何解决?当用户点击图像按钮和标准点击事件时,我需要onclick事件,当用户选择行时(不单击图像按钮但单击该行)

我的列表视图:

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/restaurants_list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:divider="@color/list_devider"
        android:dividerHeight="1dp"
        android:cacheColorHint="@color/list_background" /> 
Run Code Online (Sandbox Code Playgroud)

android listview imagebutton

56
推荐指数
3
解决办法
4万
查看次数

图像按钮以编程方式更改?

我正在尝试以编程方式更改ImageButton的图像.

我正在尝试复制此代码,但已弃用setBackgroundDrawable.

public void giveClue(View view) {
    Drawable replacer = getResources().getDrawable(R.drawable.icon2);
    ((ImageButton) view).setEnabled(false);
    ((ImageButton) view).setBackgroundDrawable(replacer);
    gameAdapter.giveClue(game);
}
Run Code Online (Sandbox Code Playgroud)

我的按钮是使用xml创建的,如下所示:

   <ImageButton
        android:id="@+id/ImageButton2"
        android:layout_width="24dp"
        android:layout_height="22dp"
        android:layout_alignTop="@+id/imageButton1"
        android:layout_toLeftOf="@+id/ImageButton3"
        android:src="@drawable/icon" 
        android:onClick="giveClue"/>
Run Code Online (Sandbox Code Playgroud)

请帮忙.

谢谢.

android imagebutton

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

填充不适用于ImageButton

在我正在开发的应用程序中,我有几个ImageButtons.每个ImageButton都有一个drawable形式的背景和内容.现在drawable在ImageButton的范围内处于最大尺寸,但我希望它缩小,所以我需要添加一些填充.问题在于,当我尝试这样做时,它没有任何效果.我的XML对于每个ImageButton如下:

<ImageButton
    android:id="@+id/button_zero"
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:padding="10dip"
    android:src="@drawable/button_zero"
    android:background="@drawable/button_background" />
Run Code Online (Sandbox Code Playgroud)

任何想法为什么填充不做任何事情?

完整的XML代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#222222"
    tools:context=".Main" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <!-- Row One -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >
            <ImageButton
                android:id="@+id/button_zero"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="10dip"
                android:src="@drawable/button_zero"
                android:background="@drawable/button_front" />
            <ImageButton
                android:id="@+id/button_one"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="10dip"
                android:src="@drawable/button_one"
                android:background="@drawable/button_front" />
            <ImageButton
                android:id="@+id/button_two"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="10dip"
                android:src="@drawable/button_two"
                android:background="@drawable/button_front" />
            <ImageButton
                android:id="@+id/button_three"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="10dip"
                android:src="@drawable/button_three"
                android:background="@drawable/button_front" />
            <ImageButton
                android:id="@+id/button_four"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="10dip"
                android:src="@drawable/button_four"
                android:background="@drawable/button_front" />
        </LinearLayout> …
Run Code Online (Sandbox Code Playgroud)

android padding imagebutton

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

如何在编辑文本中放置按钮

我想在EditText中放置一个图像按钮,但我没有想法,请告诉我如何操作,如图所示.谢谢

在此输入图像描述

android imagebutton android-layout android-edittext

38
推荐指数
5
解决办法
6万
查看次数

如何在android中的图像按钮上保持宽高比?

我有5个方形的ImageButtons,我想在屏幕的底部并排排列.我有每一组(不同的id):

        <ImageButton
         android:id="@+id/box1" 
         android:layout_width="fill_parent"
         android:layout_height="wrap_content" 
         android:layout_gravity="center"
         android:adjustViewBounds="true"
         android:scaleType="fitXY"
         android:layout_weight="1"
         android:layout_margin="1dp"
         /> 
Run Code Online (Sandbox Code Playgroud)

我在主java中分配了这样的背景:

    int[] imageIds = new int[] {R.id.box1,R.id.box2,R.id.box3,R.id.box4,R.id.box5};
    for(int i = 0; i<5; i++){
        imageButtons[i] = (ImageButton) findViewById(imageIds[i]);
        imageButtons[i].setBackgroundResource(R.drawable.blank);
    }
Run Code Online (Sandbox Code Playgroud)

我想要做的是缩放宽度以便在屏幕底部整齐地并排放置(现在可以正常使用),但是高度也会自动缩放以匹配宽度.这可能吗?我不想使用setImageSource,因为它在图像按钮周围放置了一个边框.

android aspect-ratio imagebutton

37
推荐指数
3
解决办法
4万
查看次数

33
推荐指数
6
解决办法
17万
查看次数

错误:<item>标记需要一个'drawable'属性或定义drawable的子标记

item_bg_selector.xml在drawable文件夹中创建了一个状态列表选择器文件,如下所示:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_selected="true" 
      android:drawable="@drawable/item_background_selected" />
  <item android:state_focused="true" 
      android:drawable="@drawable/item_background_selected" />
  <item android:state_pressed="true" 
      android:drawable="@drawable/item_background_selected" />
  <item android:drawable="@android:color/transparent"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

然后我定义一个样式元素

<style name="Item">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:background">@drawable/item_bg_selector</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后我尝试创建ImageButton这样的:

    <ImageButton style="@style/Item"
        android:id="@id/btn_home"
    android:src="@drawable/home_button" />
Run Code Online (Sandbox Code Playgroud)

Eclipse不断在Event Details窗口中给出以下错误:

Failed to parse file /path/to/projectdir/res/drawable/item_bg_selector.xml
Run Code Online (Sandbox Code Playgroud)

异常跟踪如下:

org.xmlpull.v1.XmlPullParserException: Binary XML file line #16: <item> tag requires a 'drawable' attribute or child tag defining a drawable
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:167)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728)
    at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:208)
    at com.android.layoutlib.bridge.android.BridgeTypedArray.getDrawable(BridgeTypedArray.java:731)
    at android.view.View.<init>(View.java:1885)
    at android.widget.ImageView.<init>(ImageView.java:112) …
Run Code Online (Sandbox Code Playgroud)

layout android imagebutton statelistdrawable

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

Android Imagebutton更改Image OnClick

我刚drawableres文件夹下添加了一个新文件夹.在drawable文件夹中,我ic_launcher.pngdrawable-hdpi文件夹中复制了该文件.ImageButton当我按下按钮时,我想通过新的标准图像更改标准图像.我写了一些代码,但是当我启动应用程序时,它崩溃了.

Button imgButton; 

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.imgButton).setOnClickListener(imgButtonHandler);      
}

View.OnClickListener imgButtonHandler = new View.OnClickListener() {

    public void onClick(View v) {

        imgButton.setBackgroundResource(R.drawable.ic_launcher);

    }
};
Run Code Online (Sandbox Code Playgroud)

编辑:我改为这个,这也行不通.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    imgButton = (Button) findViewById(R.id.imgButton);
    imgButton.setOnClickListener(imgButtonHandler);
}


View.OnClickListener imgButtonHandler = new View.OnClickListener() {

    public void onClick(View v) {
        imgButton.setBackgroundResource(R.drawable.ic_launcher);

    }
};
Run Code Online (Sandbox Code Playgroud)

编辑2:这个工作.谢谢大家.

ImageButton button;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    button= (ImageButton)findViewById(R.id.imgButton); …
Run Code Online (Sandbox Code Playgroud)

android image imagebutton

30
推荐指数
3
解决办法
11万
查看次数

在标题栏Xamarin Forms中添加一个按钮

还没有找到相当正确的答案.我想在Xamarin表单导航页面顶部的导航/标题栏中添加一个按钮.请注意,我需要知道一个可以在android上运行的方法,我不想尝试在这里找到一个只有iOS的解决方案.这个按钮需要是一个图像按钮,因为我想要一种方法来访问汉堡包菜单.

c# imagebutton xamarin.android xamarin xamarin.forms

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