简体   繁体   English

Android imagebutton切换点击

[英]Android imagebutton toggle click

I have imagebutton and I want to write setOnClickListener method with toggle click (like toggleButton). 我有imagebutton,我想编写带有触发单击的setOnClickListener方法(例如toggleButton)。 I know how working togglebutton but I do not need to use it. 我知道切换按钮的工作方式,但是我不需要使用它。 it is a possible to write toggleclick method in imagebutton. 可以在imagebutton中编写toggleclick方法。 I wrote some code but not working such as togglebutton 我写了一些代码,但不能正常工作,例如togglebutton

strada_chart.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            if(arg0.isClickable()==true)
            {
                Toast.makeText(getApplicationContext(), "1", Toast.LENGTH_SHORT).show();
            }
            else
            {
                Toast.makeText(getApplicationContext(), "2", Toast.LENGTH_SHORT).show();
            }
        }
    });

Try this.. 尝试这个..

Like_btn.setOnClickListener(new OnClickListener()
        {

            public void onClick(View v)
            {
                if(fun)
                {
                Like_btn.setImageResource(R.drawable.unlike);
                fun=false;
                }
                else
                {
                    fun=true;       
                    Like_btn.setImageResource(R.drawable.like);
                    Toast.makeText(getApplicationContext(), "Changed", Toast.LENGTH_LONG).show();
                }
            }
        });
public void onToggleClicked(View view) {
        // Is the toggle on?
        switch (view.getId()) {
        case R.id.xyz:
            boolean on = ((ToggleButton) view).isChecked();

            if (on) {


                Toast.makeText(mContext, "A", Toast.LENGTH_SHORT).show();
            } else {


                Toast.makeText(mContext, "B", Toast.LENGTH_SHORT).show();
            }
        }
    }

Use property of Toggle button 使用切换按钮的属性

In XML: 在XML中:

<ToggleButton
            android:id="@+id/xyz"
            style="@style/toggleButton"
            android:layout_width="190dp"
            android:layout_height="50dp"
            android:layout_gravity="center_vertical|center_horizontal"
            android:layout_margin="8dp"
            android:background="@drawable/ic_toggle_sv"
            android:onClick="onToggleClicked" />

In ic_toggle_sv 在ic_toggle_sv中

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

    <item
        android:id="@+android:id/background"
        android:drawable="@android:color/transparent"/>
    <item
        android:id="@+android:id/toggle"
        android:drawable="@drawable/ic_toggle1"/>

</layer-list>

In ic_toggle1 pass both images of Toggle Button 在ic_toggle1中传递“切换按钮”的两个图像

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/ic_toggle_stills" android:state_checked="false"/>
    <item android:drawable="@drawable/ic_toggle_videos" android:state_checked="true"/>

</selector>

Try this.... 尝试这个....

private static boolean isClicked = true;
strada_chart.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        if(isClicked)
        {
            Toast.makeText(getApplicationContext(), "1", Toast.LENGTH_SHORT).show();
            isClicked = false;
        }
        else
        {
            Toast.makeText(getApplicationContext(), "2", Toast.LENGTH_SHORT).show();
        }

    }
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM