package com.example.plugindemo.activity.actionbar;
import android.app.TwsActivity;
import android.content.Intent;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.util.Log;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewTreeObserver;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.example.plugindemo.R;
import com.tencent.tws.assistant.app.ActionBar.OverflowClickListener;
import com.tencent.tws.assistant.gaussblur.JNIBlur;
import com.tencent.tws.assistant.widget.Toast;
import com.tencent.tws.assistant.widget.ToggleButton;
public class ActionModeNormal extends TwsActivity {
public static final String TAG = "ACTION_MODE_TEST";
private ActionMode mActionMode;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.actionmode_main);
setupButtonLongClick();
setupCheckBox();
setupToggleSplitClick();
getTwsActionBar().setShowHideAnimationEnabled(true);
Button listUp = (Button) findViewById(R.id.list_up);
listUp.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(ActionModeNormal.this, ActionModeMultiChoiceListActivity.class));
}
});
Button listDown = (Button) findViewById(R.id.list_down);
View listDown1 = findViewById(R.id.list_down);
LayoutParams lp = listDown1.getLayoutParams();
lp.height = listDown1.getMeasuredHeight() + 20;
listDown1.setLayoutParams(lp);
listDown.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(ActionModeNormal.this, ActionModeCheckListActivity.class));
}
});
ImageView imageView = (ImageView) findViewById(R.id.blur_img);
JNIBlur mBlur = new JNIBlur(ActionModeNormal.this);
imageView.setImageBitmap(mBlur.blur(
((BitmapDrawable) (getResources().getDrawable(R.drawable.blurtestimg))).getBitmap(), true));
LinearLayout layout = (LinearLayout) findViewById(R.id.blur_layout);
layout.setBackground(new BitmapDrawable(mBlur.blur(
((BitmapDrawable) (getResources().getDrawable(R.drawable.bgbg))).getBitmap(), true)));
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
getTwsActionBar().setTitle("一二三");
getTwsActionBar().setOverflowDelay(false, true);
// getTwsActionBar().setIsTransPopup(false, true);
getTwsActionBar().setOverflowClickListener(new OverflowClickListener() {
@Override
public void doClick() {
}
}, false);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
private void setupButtonLongClick() {
Button longClickButton = (Button) findViewById(R.id.longclick);
longClickButton.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// must have before startActionMode()
mActionMode = startActionMode(mActionModeCallback);
getTwsActionBar().setIsTransPopup(true, true);
getTwsActionBar().setOverflowClickListener(new OverflowClickListener() {
@Override
public void doClick() {
Log.v(TAG, "bbbbb");
}
}, true);
mActionMode.setTitle("一二三");
((Button) getTwsActionBar().getCloseView(true)).setText("打开");
ToggleButton rightButton = (ToggleButton) getTwsActionBar().getMultiChoiceView();
rightButton.setChecked(false);
rightButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(ActionModeNormal.this, "ActionMode Right Button Pressed", Toast.LENGTH_LONG)
.show();
}
});
return true;
}
});
}
private void setupToggleSplitClick() {
final Button toggleSplit = (Button) findViewById(R.id.toggle_split);
toggleSplit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
boolean isHide = getTwsActionBar().splitActionbarIsHide();
if (isHide) {
getTwsActionBar().splitActionbar_show();
toggleSplit.setText(R.string.toggle_split_off);
} else {
getTwsActionBar().splitActionbar_hide();
toggleSplit.setText(R.string.toggle_split_on);
}
}
});
}
private void setupCheckBox() {
CheckBox mCheckBox = (CheckBox) findViewById(R.id.check);
mCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {
if (mActionMode == null) {
mActionMode = startActionMode(mActionModeCallback);
}
} else {
if (mActionMode != null) {
mActionMode.finish();
}
}
}
});
}
private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
Log.e(TAG, "onPrepareActionMode");
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
// TODO Auto-generated method stub
Log.e(TAG, "onDestroyActionMode");
getTwsActionBar().twsSetActionModeBackOnClickListener(null);
mActionMode = null;
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
// mode.getMenuInflater().inflate(R.menu.activity_main, menu);
menu.add("title1").setIcon(getResources().getDrawable(R.drawable.ic_menu_copy_bottom))
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("title2").setIcon(getResources().getDrawable(R.drawable.ic_menu_cut_bottom))
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("title3").setIcon(getResources().getDrawable(R.drawable.ic_menu_share_bottom))
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("title4").setIcon(getResources().getDrawable(R.drawable.ic_menu_edit_bottom))
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("title5").setIcon(getResources().getDrawable(R.drawable.ic_menu_delete_bottom))
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
Log.e(TAG, "onCreateActionMode");
return true;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
// TODO Auto-generated method stub
Log.e(TAG, "onActionItemClicked");
Toast.makeText(ActionModeNormal.this, "clicked", Toast.LENGTH_SHORT).show();
// mode.finish();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_TEXT, "text");
startActivity(Intent.createChooser(intent, "subject"));
return true;
}
};
private OnClickListener mActionModeBackOnClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(ActionModeNormal.this, "ActionMode Back Clicked", Toast.LENGTH_SHORT).show();
// if (mActionMode != null) {
// mActionMode.finish();
// }
}
};
private void setViewHeight(View view) {
final View mView = view;
ViewTreeObserver vto = mView.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
int height = mView.getMeasuredHeight();
LayoutParams lp = mView.getLayoutParams();
lp.height = height + 20;
mView.setLayoutParams(lp);
return true;
}
});
}
}