按钮不适用于 AlexKolpa/fab-toolbar

2022-09-02 14:13:41

我最近正要导入库时,我注意到动画不起作用,即使我遵循了以下链接中给出的所有指示:AlexKolpa/fab-toolbar

https://github.com/AlexKolpa/fab-toolbar

我的代码如下:

主要活动

import android.animation.Animator;
import android.animation.AnimatorInflater;
import android.animation.ObjectAnimator;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.Toast;

import com.github.alexkolpa.fabtoolbar.FabToolbar;


public class MainActivity extends ActionBarActivity implements  View.OnClickListener{


    private FabToolbar fabToolbar;

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

        fabToolbar = ((FabToolbar) findViewById(R.id.fab_toolbar));

        fabToolbar.setColor(getResources().getColor(R.color.blue));

//        findViewById(R.id.attach).setOnClickListener(this);
        findViewById(R.id.attach).setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){
                Log.e("SOMETHING","SOMETHING");
                fabToolbar.show();
            }
        });

    }

    @Override
    public  void onClick(View v){
        Toast.makeText(this,"This is a button click!", Toast.LENGTH_SHORT).show();
        fabToolbar.hide();
    }

}

主要活动布局:

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:tb="http://schemas.android.com/apk/src/org.panel"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

   <!-- <ImageView
        android:id="@+id/policebox"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:cropToPadding="true"
        android:layout_centerInParent="true"
        android:src="@drawable/dot"
        android:text="@string/example1"
        android:onClick="disappearBox" />-->

    <com.github.alexkolpa.fabtoolbar.FabToolbar
        android:id="@+id/fab_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        tb:tb_animation_duration="500"
        tb:tb_button_gravity="end"
        tb:tb_container_gravity="center"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

        <ImageView
            android:id="@+id/attach"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_whiteplus"
            android:layout_marginLeft="@dimen/icon_margin"
            android:layout_marginRight="@dimen/icon_margin"
            />

        <!-- More buttons can be added here -->

    </com.github.alexkolpa.fabtoolbar.FabToolbar>

</FrameLayout>

如果需要,可以升级:

repositories {
    maven {
        url "https://jitpack.io"
    }
}

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.example.gkvxm.animations"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.1'
    compile 'com.github.alexkolpa:floating-action-button-toolbar:0.5.1'
    compile 'com.github.ozodrukh:CircularReveal:1.1.0@aar'
    compile 'com.melnykov:floatingactionbutton:1.3.0'
}

关于我如何解决这个问题的任何想法?


答案 1

我一直在使用这个库,它完美地工作。我还在Moto X 5.1和Genymotion 4.4上尝试了您的代码,在这两个动画上都可以正常工作。

虽然有一些挑剔:

  • 在布局中,当您使用时,您不需要以下属性:FrameLayout

    android:layout_alignParentBottom="true"  
    android:layout_alignParentLeft="true"  
    android:layout_alignParentStart="true" 
    
  • 您的布局中有一个图像,然后单击该图像,您再次执行该按钮。我不认为这是一种有意的行为。即使您删除了该部分,显示也会正常工作。这部分:show

    findViewById(R.id.attach).setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Log.e("SOMETHING", "SOMETHING");
            fabToolbar.show();
        }
    });
    

答案 2

我刚刚下载了这个代码...

我发现你不知道如何找到id...

所以只要按照这个,它就会工作

ImageView imageView;
    imageView= (ImageView) findViewById(R.id.event);
    imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(SampleActivity.this, "Clicked", Toast.LENGTH_SHORT).show();
        }
    });

推荐