我的FAB在API 17上点击没有反应,但在API 21上正常工作。
我在使用:
compile 'com.android.support:design:23.+'
FAB布局:
<android.support.design.widget.FloatingActionButton
android:id="@+id/myFAB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_gravity="bottom"
android:layout_marginBottom="26dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:backgroundTint="#FFC107"
android:clickable="true"
android:elevation="@dimen/design_fab_elevation"
android:src="@drawable/ic_add_24dp"
app:borderWidth="0dp" />
关于Activity:
myFAB = (FloatingActionButton) findViewById(R.id.myFAB);
callCadastroEncoemnda();
protected void callCadastroEncoemnda() {
myFAB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, newPackage.class);
MainActivity.this.startActivity(intent);
}
});
}
android:clickable="true"
吗?如果设置了点击监听器,它就不需要了。我在我周围的一个 API 17 设备上进行了快速测试,但对我来说两种方式都可以工作。也就是说:我没有你描述的问题。你能否在onClick()
回调中设置断点以查看是否触发?newPackage.class
对我来说也有点可疑——它不遵循 Java 命名约定。 - MH.android:clickable="true"
,但仍然是同样的情况。我已经在onClick上设置了断点,但它没有被调用。问题是在API 21+上完美运行,但在API 17上不行。newPackage.class
是我创建的一个Activity,在API 21+上完美运行。 - Rafael Mansilha Murta