Кнопка не работает для AlexKolpa/fab-toolbar
Недавно я собирался импортировать библиотеку AlexKolpa/fab-toolbar
, когда заметил, что анимация не работает, хотя я следил за всеми указаниями, приведенными в ссылке ниже:
https://github.com/AlexKolpa/fab-toolbar
Мой код выглядит следующим образом:
MainActivity
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();
}
}
Ответы
Ответ 1
Я использую эту библиотеку, и она работает безупречно. Я также пробовал с вашим кодом на Moto X 5.1 и Genymotion 4.4, как в анимации работает.
Некоторая nitpicking, хотя:
-
В макете, когда вы используете 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
Я просто загрузил этот код...
Я обнаружил, что вы не знаете, как найти идентификатор...
поэтому просто следуйте этому, он будет работать
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();
}
});