Floating action button 我一直在我的可穿戴应用程序中发现一个充气异常错误
所以我不知道为什么它不起作用。我的应用程序适用于可穿戴设备这可能是问题所在吗 总之,以下是我的活动和xml布局:Floating action button 我一直在我的可穿戴应用程序中发现一个充气异常错误,floating-action-button,inflate-exception,Floating Action Button,Inflate Exception,所以我不知道为什么它不起作用。我的应用程序适用于可穿戴设备这可能是问题所在吗 总之,以下是我的活动和xml布局: implementation 'com.google.android.material:material:1.2.1' package com.example.ticwatch_1; import android.os.Bundle; import android.support.wearable.activity.WearableActivity; import
implementation 'com.google.android.material:material:1.2.1'
package com.example.ticwatch_1;
import android.os.Bundle;
import android.support.wearable.activity.WearableActivity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;
import android.widget.Toast;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import androidx.wear.ambient.AmbientModeSupport;
import androidx.wear.widget.drawer.WearableActionDrawerView;
import androidx.wear.widget.drawer.WearableDrawerLayout;
import androidx.wear.widget.drawer.WearableNavigationDrawerView;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
public class floating_action_button extends FragmentActivity
implements AmbientModeSupport.AmbientCallbackProvider {
private TextView mTextView;
/////////////////////////////////////////////////////////
private FloatingActionButton openbtn,tools,keys,modes;
private Boolean clicked = false;
////////////////////////////////////////////////////////
Animation rotateOpen,rotateClose,fromBottom, toBottom;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_floating_action_button);
mTextView = (TextView) findViewById(R.id.text);
openbtn = (FloatingActionButton)findViewById(R.id.floatingActionButton);
tools = (FloatingActionButton)findViewById(R.id.Tools);
keys = (FloatingActionButton)findViewById(R.id.Keys);
modes = (FloatingActionButton)findViewById(R.id.Modes);
/////////////////////////////////////////////////////////////
rotateOpen = AnimationUtils.loadAnimation(floating_action_button.this,R.anim.rotate_open_anim);
rotateClose= AnimationUtils.loadAnimation(floating_action_button.this,R.anim.rotate_close_anime);
fromBottom = AnimationUtils.loadAnimation(floating_action_button.this,R.anim.from_bottom);
toBottom = AnimationUtils.loadAnimation(floating_action_button.this,R.anim.to_bottom);
openbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onFloatButtonClicked();
}
});
tools.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(floating_action_button.this, "tools", Toast.LENGTH_SHORT).show();
}
});
modes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(floating_action_button.this, "modes", Toast.LENGTH_SHORT).show();
}
});
keys.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(floating_action_button.this, "keys", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public AmbientModeSupport.AmbientCallback getAmbientCallback() {
return null;
}
private void onFloatButtonClicked()
{
setVisibility(clicked);
setAnimations(clicked);
clicked = !clicked;
}
private void setVisibility(Boolean clicked)
{
if(!clicked)
{
tools.setVisibility(View.VISIBLE);
modes.setVisibility(View.VISIBLE);
keys.setVisibility(View.VISIBLE);
}
else
{
tools.setVisibility(View.INVISIBLE);
modes.setVisibility(View.INVISIBLE);
keys.setVisibility(View.INVISIBLE);
}
}
private void setAnimations(Boolean clicked)
{
if(!clicked)
{
openbtn.startAnimation(rotateOpen);
tools.startAnimation(fromBottom);
modes.startAnimation(fromBottom);
keys.startAnimation(fromBottom);
}
else
{
openbtn.startAnimation(rotateClose);
tools.startAnimation(toBottom);
modes.startAnimation(toBottom);
keys.startAnimation(toBottom);
}
}
}
这是xml布局:
implementation 'com.google.android.material:material:1.2.1'
package com.example.ticwatch_1;
import android.os.Bundle;
import android.support.wearable.activity.WearableActivity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;
import android.widget.Toast;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import androidx.wear.ambient.AmbientModeSupport;
import androidx.wear.widget.drawer.WearableActionDrawerView;
import androidx.wear.widget.drawer.WearableDrawerLayout;
import androidx.wear.widget.drawer.WearableNavigationDrawerView;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
public class floating_action_button extends FragmentActivity
implements AmbientModeSupport.AmbientCallbackProvider {
private TextView mTextView;
/////////////////////////////////////////////////////////
private FloatingActionButton openbtn,tools,keys,modes;
private Boolean clicked = false;
////////////////////////////////////////////////////////
Animation rotateOpen,rotateClose,fromBottom, toBottom;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_floating_action_button);
mTextView = (TextView) findViewById(R.id.text);
openbtn = (FloatingActionButton)findViewById(R.id.floatingActionButton);
tools = (FloatingActionButton)findViewById(R.id.Tools);
keys = (FloatingActionButton)findViewById(R.id.Keys);
modes = (FloatingActionButton)findViewById(R.id.Modes);
/////////////////////////////////////////////////////////////
rotateOpen = AnimationUtils.loadAnimation(floating_action_button.this,R.anim.rotate_open_anim);
rotateClose= AnimationUtils.loadAnimation(floating_action_button.this,R.anim.rotate_close_anime);
fromBottom = AnimationUtils.loadAnimation(floating_action_button.this,R.anim.from_bottom);
toBottom = AnimationUtils.loadAnimation(floating_action_button.this,R.anim.to_bottom);
openbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onFloatButtonClicked();
}
});
tools.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(floating_action_button.this, "tools", Toast.LENGTH_SHORT).show();
}
});
modes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(floating_action_button.this, "modes", Toast.LENGTH_SHORT).show();
}
});
keys.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(floating_action_button.this, "keys", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public AmbientModeSupport.AmbientCallback getAmbientCallback() {
return null;
}
private void onFloatButtonClicked()
{
setVisibility(clicked);
setAnimations(clicked);
clicked = !clicked;
}
private void setVisibility(Boolean clicked)
{
if(!clicked)
{
tools.setVisibility(View.VISIBLE);
modes.setVisibility(View.VISIBLE);
keys.setVisibility(View.VISIBLE);
}
else
{
tools.setVisibility(View.INVISIBLE);
modes.setVisibility(View.INVISIBLE);
keys.setVisibility(View.INVISIBLE);
}
}
private void setAnimations(Boolean clicked)
{
if(!clicked)
{
openbtn.startAnimation(rotateOpen);
tools.startAnimation(fromBottom);
modes.startAnimation(fromBottom);
keys.startAnimation(fromBottom);
}
else
{
openbtn.startAnimation(rotateClose);
tools.startAnimation(toBottom);
modes.startAnimation(toBottom);
keys.startAnimation(toBottom);
}
}
}