标签: android-imagebutton

如何制作多个页面,我可以在应用程序中使用按钮,并使图像按钮链接到这些页面?

所以这是我的第一个应用程序,我正在尝试编码,需要一些按钮帮助.在寻找答案后,我找不到一个我理解的答案.我希望能够为应用程序创建不同的页面并将imagebuttons链接建立到这些页面.这是我按钮的最基本代码.请尝试解释在哪里放置代码等.提前感谢.

<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageButton"
        android:background="@drawable/home_button"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:nestedScrollingEnabled="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android button android-imagebutton

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

如何在 ImageButton 中设置 onClick 事件?

我在 android 中创建了一个图像按钮,但是当我点击那个按钮时什么也没有发生。我已经设置了所有属性,但仍然没有发生任何事情。所以你能帮我看看我哪里错了。

xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <AbsoluteLayout
        android:id="@+id/widget39"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_x="0dp"
        android:layout_y="3dp" />

    <ImageButton
        android:id="@+id/search"
        android:layout_width="40dp"
        android:layout_height="41dp"
        android:layout_x="312dp"
        android:layout_y="10dp"
        android:clickable="true"
        android:onClick="onClick"
        android:background="@drawable/search" />

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

搜索.java

public class SearchData extends Activity {
ImageButton search; 

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_search_data);
        search =(ImageButton)findViewById(R.id.search);
        search.setOnClickListener(new View.OnClickListener()   {             
               public void onClick(View v)  {               
                try {
                    ConnectService();
                } catch (Exception e) {
                    e.printStackTrace();                    
                }               
               }  
             });
    }
Run Code Online (Sandbox Code Playgroud)

events android onclick listener android-imagebutton

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

如何在不设置工具栏样式的情况下动态更改所有工具栏图标的颜色

我一直在寻找一种方法来动态更改工具栏(如ActionBar)中所有元素的颜色。

规格:

  • parent="Theme.AppCompat.Light.NoActionBar"在styles.xml上使用
  • Appcompat v7 22
  • 设置setSupportActionBar()在我的AppCompatActivity
  • 我从POST请求中获得了颜色(通常是#FF ------格式)

我已阅读以下帖子:

  1. 如何更改ActionBar汉堡包图标的颜色?
  2. 如何在材料设计导航抽屉中更改汉堡图标的颜色
  3. 无法在Android中更改导航抽屉图标的颜色
  4. ActionBarDrawerToggle v7箭头颜色
  5. Android工具栏颜色更改
  6. Android burger / arrow图标动态更改颜色(此方法某种程度上可行,但我不喜欢使用自己的图像动画)。
    以及与此主题相关的其他链接...没有一个对我有用。

我现在正在做的是在工具栏上搜索ImageButton(在support actionbar中获取对抽屉切换的引用),然后setColorFilter()像下面的代码一样将它们应用于所有对象:

for (int i = 0; i < toolbar.getChildCount(); i++){
    if (toolbar.getChildAt(i) instanceof ImageButton) {
        ImageButton ib = (ImageButton) toolbar.getChildAt(i);
        ib.setColorFilter(Color.parseColor("#A74231"), PorterDuff.Mode.SRC_ATOP);
    }
}
Run Code Online (Sandbox Code Playgroud)

我改变的背景和文本颜色搭配:toolbar.setBackgroundColortoolbar.setTitleTextColor

对于菜单图标(包括溢出菜单图标):

MenuItem item2 = mMenu.findItem(R.id.actionbar_group_moreoverflow);
item2.getIcon().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
Run Code Online (Sandbox Code Playgroud)


问题:有没有更好的办法做到这一点(改变工具栏的元素色彩动态)?

android android-appcompat android-imagebutton android-toolbar

4
推荐指数
1
解决办法
3825
查看次数

Error inflating class ImageButton

I have an app which has fragment and image button on that. The problem is it's working on and above 5.0 but not below 5.0. The min sdk version is 17.

Not getting what's wrong here. I am getting 2 exceptions.

One is RuntimeException for image button. Second is ResourceNotFoundException for fab selector file.

Log : 1st exception --

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.siddhi.timetablelayout/com.example.siddhi.timetablelayout.MainActivity}: android.view.InflateException: Binary XML file line #16:

Error inflating class ImageButton

2nd exception --

Caused …

android android-resources inflate-exception binary-xml android-imagebutton

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

在RecyclerView中添加删除按钮

我试图添加一个删除按钮,该按钮应该根据数据库中的位置删除数据库中的项目RecyclerView.我正在努力解决这个问题.这是我的布局文件RecyclerView:

<TextView
    android:id="@+id/layout_list_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:textStyle="bold"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/layout_list_date"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignStart="@+id/layout_list_name"
    android:layout_alignLeft="@+id/layout_list_name"
    android:layout_below="@+id/layout_list_name" />

<ImageButton
    android:id="@+id/layout_list_delete"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:contentDescription="Delete"
    android:src="@drawable/icon_layout_delete_layout_item" />
Run Code Online (Sandbox Code Playgroud)

这是我申报onItemClickImageButton是删除按钮:

imageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(getBaseContext(), "Delete hit!", Toast.LENGTH_SHORT).show();
        }
    });
Run Code Online (Sandbox Code Playgroud)

这是我的RecyclerView听众课程:

private OnItemClickListener onItemClickListener;

public interface OnItemClickListener {
    void onItemClick(View view, int position);
}

GestureDetector gestureDetector;

public ListsDatabaseItemListener(Context context, OnItemClickListener listener) {
    onItemClickListener = listener; …
Run Code Online (Sandbox Code Playgroud)

android android-imagebutton android-recyclerview

4
推荐指数
1
解决办法
6206
查看次数

将 ImageButton 的默认背景设置为透明(使用 AndroidX)

我正在使用 AndroidX 支持库。在我的清单中,我声明:

<application
        ...            

        android:theme="@style/AppTheme">
Run Code Online (Sandbox Code Playgroud)

values.styles.xml我声明:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    ...

    <item name="android:imageButtonStyle">@style/MyImageButton</item>
</style>

<style name="MyImageButton" parent="Widget.AppCompat.ImageButton">
    <item name="android:background">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后我通过以下方式使用 ImageButton:

<ImageButton
    android:id="@+id/image"
    android:layout_width="40dp"
    android:layout_height="40dp" />
Run Code Online (Sandbox Code Playgroud)

不幸的是,我ImageButton显示的是灰色背景而不是透明背景。我该怎么做才能修复它?

android android-styles android-imagebutton androidx

4
推荐指数
1
解决办法
252
查看次数

Android设置按钮按下的背景颜色

我想在按下事件时更改 ImageButton 的背景颜色。

这是我所做的:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <solid android:color="@color/rose_normal" />
    <solid
        android:state_pressed="true"
        android:color="@color/rose_fonce" />

    <stroke
        android:width="1sp"
        android:color="@color/rose_fonce" />

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

我的按钮很好地采用“rose_normal”颜色,但在按下时从来没有采用“rose_fonce”颜色。

哪里有问题 ?

编辑:问题已解决:

创建一个名为 background_rounded_button.xml 的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/rounded_button_rose_fonce" android:state_selected="true"></item>
    <item android:drawable="@drawable/rounded_button_rose_fonce" android:state_pressed="true"></item>
    <item android:drawable="@drawable/rounded_button_rose_normal"></item>

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

rounded_button_rose_fonce.xml :

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <solid android:color="@color/rose_fonce" />

    <stroke
        android:width="1sp"
        android:color="@color/rose_fonce" />

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

rounded_button_rose_normal.xml :

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <solid android:color="@color/rose_normal" />

    <stroke
        android:width="1sp"
        android:color="@color/rose_fonce" />

</shape> …
Run Code Online (Sandbox Code Playgroud)

android selector android-shape android-imagebutton

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

为什么相同的layout_weight导致Android ImageButton和Button的宽度不同?

当我尝试将常规按钮和ImageButton设置为相同时,我在LinearLayout中得到了一些奇怪的行为layout_weight.图像按钮的android:src资源非常小,非常适合ImageButton,没有任何问题.即使它们的宽度应该相同,但由于某种原因,ImageButton的宽度大约是普通按钮其余部分的2/3.如果我将ImageButton的乘以layout_weight10,它更接近正确的大小,但为什么这不起作用?

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_weight="1">
    <Button
            android:id="@+id/clear"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/clear"/>
    <Button
            android:id="@+id/left_paren"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/left_paren"/>
    <Button
            android:id="@+id/right_paren"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/right_paren"/>
    <ImageButton
            android:id="@+id/backspace"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:adjustViewBounds="true"
            android:contentDescription="@string/backspace"
            android:src="@drawable/backspace"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-imagebutton android-layout-weight

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

无法解析 Android 中 ImageButton 的 id

我有一个滚动视图,其中有 4 个 ImageButtons。但是,当我在约束布局中定义约束时,我在 XML 文件中收到错误消息:“无法解析符号 @id/imageButton ”。我不明白这个错误消息,因为我已经定义了图像按钮的 id。有人能帮我吗?这是代码的一部分:

 <ScrollView
        app:layout_constraintTop_toBottomOf="@id/toolbar_mainActivity"
        app:layout_constraintBottom_toTopOf="@id/bottom_layout"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_width="0dp"
        android:layout_height="0dp">
        <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            tools:context=".MainActivity"
            tools:ignore="ExtraText">


            <ImageButton
                android:id="@+id/imageButton_1"
                android:layout_width="0dp"
                android:layout_height="128dp"
                android:layout_marginTop="12dp"
                android:background="#00000000"
                android:scaleType="fitCenter"
                app:layout_constraintEnd_toStartOf="@id/imageButton_2"
                app:layout_constraintHorizontal_chainStyle="spread"
                app:layout_constraintHorizontal_weight="1"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:srcCompat="@drawable/test_dish_1" />

            <ImageButton
                android:id="@+id/imageButton_2"
                android:layout_width="0dp"
                android:layout_height="128dp"
                android:layout_marginTop="12dp"
                android:background="#00000000"
                android:scaleType="fitCenter"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_weight="1"
                app:layout_constraintStart_toEndOf="@id/imageButton_1"
                app:layout_constraintTop_toTopOf="parent"
                app:srcCompat="@drawable/test_dish_1" />

            <ImageButton
                android:id="@+id/imageButton_4"
                android:layout_width="0dp"
                android:layout_height="128dp"
                android:layout_marginTop="12dp"
                android:background="#00000000"
                android:scaleType="fitCenter"
                app:layout_constraintEnd_toStartOf="@id/imageButton_3"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/imageButton_1"
                app:layout_constraintVertical_chainStyle="packed"
                app:srcCompat="@drawable/test_dish_1" />

            <ImageButton
                android:id="@+id/imageButton_3"
                android:layout_width="0dp"
                android:layout_height="128dp"
                android:layout_marginTop="12dp"
                android:background="#00000000"
                android:scaleType="fitCenter"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@id/imageButton_4"
                app:layout_constraintTop_toBottomOf="@id/imageButton_1"
                app:srcCompat="@drawable/test_dish_1" />






        </android.support.constraint.ConstraintLayout>
    </ScrollView>
Run Code Online (Sandbox Code Playgroud)

例如,错误显示在以下行中: 'app:layout_constraintEnd_toStartOf="@id/imageButton_2"'

这是 Android Studio …

android android-imagebutton

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

在Android中获取X和Y坐标视图(Imagebutton)的值

我想得到X和Y的观点(ImageButton).

当我尝试使用下面的代码在Click事件上找到X和Y时,我得到View的正确X和Y坐标.

    ImageButton imagebutton = findviewbyId(R.id.imagebutton);                       
    imagebutton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            int[] posXY = new int[2];
            v.getLocationOnScreen(posXY);
            x = posXY[0];
            y = posXY[1];

            Log.d("X and Y Point", x + " " + y);        
        }
    });
Run Code Online (Sandbox Code Playgroud)

但是在点击视图之前我想要X和Y坐标,所以我尝试用下面的代码得到X和Y.

    ImageButton imagebutton = findviewbyId(R.id.imagebutton);                       
    int[] posXY = new int[2];
    imageButton.getLocationOnScreen(posXY);
    x = posXY[0];
    y = posXY[1];

    Log.d("X and Y Point", x + " " + y);
Run Code Online (Sandbox Code Playgroud)

但每当我尝试使用ClickListener获取X和Y时,我得到X和Y为0和0.因此,如果没有ClickListener,我不会得到Proper X和Y. 任何人都可以帮助解决什么是实际问题,如何在没有ClickListener的情况下获得Proper X和Y?

android android-layout android-view android-imagebutton

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