Android Open Source - markj Jw Base Drop Down From Project Back to project page markj .
License The source code is released under:
GNU Lesser General Public License
If you think the Android project markj listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.markjmind.mobile.api.android.ui.view;
/ / f r o m w w w . j a v a 2 s . c o m
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.widget.FrameLayout;
/**
*
* @author ???
* @email markjmind@gmail.com
*/
public class JwBaseDropDown extends Dialog implements OnClickListener{
private FrameLayout frame;
private View contentView;
private Animation animIn;
private Animation animOut;
protected JwBaseDropDown(Context context){
super (context , android.R.style.Theme_Translucent_NoTitleBar);
}
public JwBaseDropDown(Context context, View contentView) {
super (context , android.R.style.Theme_Translucent_NoTitleBar);
this.contentView = contentView;
}
protected void setMainContentView(View contentView){
this.contentView = contentView;
}
public void setAnimationIn(Animation animIn){
this.animIn = animIn;
}
public void setAnimationOut(Animation animOut){
this.animOut = animOut;
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
frame=new FrameLayout(getContext());
frame.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
contentView.setClickable(true);
if (animIn!=null){
contentView.setAnimation(animIn);
}
frame.addView(contentView);
super.setContentView(frame);
frame.setOnClickListener(this );
}
public void show(View onClickView) {
super.show();
int width = onClickView.getWidth();
int height = onClickView.getHeight();
int [] location = new int [2];
int [] flLoc = new int [2];
frame.getLocationInWindow(flLoc);
onClickView.getLocationInWindow(location);
location[1] = location[1]-getStatusBarHeight()+height;
frame.setPadding(location[0], location[1], 0, 0);
}
public void show(View v,float childWidth, float childHeight) {
super.show();
int width = v.getWidth();
int height = v.getHeight();
int [] location = new int [2];
int [] flLoc = new int [2];
frame.getLocationInWindow(flLoc);
v.getLocationInWindow(location);
location[1] = location[1]-getStatusBarHeight()+height;
frame.setPadding(location[0], location[1], 0, 0);
}
@Override
public void onClick(View v) {
this.dismiss();
}
public int getStatusBarHeight() {
int result = 0;
int resourceId = getContext().getResources().getIdentifier("status_bar_height" , "dimen" , "android" );
if (resourceId > 0) {
result = getContext().getResources().getDimensionPixelSize(resourceId);
}
return result;
}
@Override
public void dismiss() {
if (animOut!=null){
animOut.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
JwBaseDropDown.super.dismiss();
}
});
contentView.startAnimation(animOut);
}else {
super.dismiss();
}
}
@Override
public void onBackPressed() {
dismiss();
}
}
Java Source Code List com.markjmind.mobile.api.android.controller.JwAsyncTask.java com.markjmind.mobile.api.android.controller.JwMapperException.java com.markjmind.mobile.api.android.controller.JwMemberMapper.java com.markjmind.mobile.api.android.controller.JwStringID.java com.markjmind.mobile.api.android.controller.JwViewController.java com.markjmind.mobile.api.android.controller.JwViewerCache.java com.markjmind.mobile.api.android.controller.JwViewer.java com.markjmind.mobile.api.android.controller.Jwc.java com.markjmind.mobile.api.android.controller.OnClickListenerReceiver.java com.markjmind.mobile.api.android.controller.ViewerXmlMapper.java com.markjmind.mobile.api.android.exception.JwErrorCode.java com.markjmind.mobile.api.android.exception.JwException.java com.markjmind.mobile.api.android.json.JSONMsgString.java com.markjmind.mobile.api.android.json.JwJOSNTreeArray.java com.markjmind.mobile.api.android.json.JwJSONReader.java com.markjmind.mobile.api.android.ui.JwAnimation.java com.markjmind.mobile.api.android.ui.JwGroup.java com.markjmind.mobile.api.android.ui.JwMenu.java com.markjmind.mobile.api.android.ui.JwOnGroupSelect.java com.markjmind.mobile.api.android.ui.JwTabGroup.java com.markjmind.mobile.api.android.ui.JwTouchGroupListener.java com.markjmind.mobile.api.android.ui.JwTouchGroup.java com.markjmind.mobile.api.android.ui.JwTouchMotionGroupLisener.java com.markjmind.mobile.api.android.ui.JwTouchMotionGroup.java com.markjmind.mobile.api.android.ui.drawgraph.GraphBoard.java com.markjmind.mobile.api.android.ui.drawgraph.GraphSkin.java com.markjmind.mobile.api.android.ui.drawgraph.HBackLineSkin.java com.markjmind.mobile.api.android.ui.drawgraph.LineGraphSkin.java com.markjmind.mobile.api.android.ui.drawgraph.PieGraph.java com.markjmind.mobile.api.android.ui.drawgraph.RectGraphSkin.java com.markjmind.mobile.api.android.ui.drawgraph.SimpleStyle.java com.markjmind.mobile.api.android.ui.drawgraph.TextArraySkin.java com.markjmind.mobile.api.android.ui.drawgraph.VBackLineSkin.java com.markjmind.mobile.api.android.ui.graph.Arc.java com.markjmind.mobile.api.android.ui.graph.BarElement.java com.markjmind.mobile.api.android.ui.graph.BarLayout.java com.markjmind.mobile.api.android.ui.graph.Bar.java com.markjmind.mobile.api.android.ui.graph.IPieSkin.java com.markjmind.mobile.api.android.ui.graph.LineLayout.java com.markjmind.mobile.api.android.ui.graph.MeasureLayout.java com.markjmind.mobile.api.android.ui.graph.PieArcRoundSkin.java com.markjmind.mobile.api.android.ui.graph.PieLayout.java com.markjmind.mobile.api.android.ui.graph.PiePercentSkin.java com.markjmind.mobile.api.android.ui.view.JwBaseDropDown.java com.markjmind.mobile.api.android.ui.view.JwDropDown.java com.markjmind.mobile.api.android.ui.view.JwSlidingLayout.java com.markjmind.mobile.api.android.ui.view.JwWheelView.java com.markjmind.mobile.api.android.ui.view.StickerListener.java com.markjmind.mobile.api.android.ui.view.StickerView.java com.markjmind.mobile.api.android.ui.view.textview.JwTextViewAutoScale.java com.markjmind.mobile.api.android.ui.view.textview.JwTextViewFonts.java com.markjmind.mobile.api.android.ui.view.textview.JwTextViewWrapScale.java com.markjmind.mobile.api.android.ui.wrapper.JwAlertDialog.java com.markjmind.mobile.api.android.ui.wrapper.JwToast.java com.markjmind.mobile.api.android.util.JwFile.java com.markjmind.mobile.api.android.util.JwPreferenceList.java com.markjmind.mobile.api.android.util.JwPreference.java com.markjmind.mobile.api.android.util.JwSound.java com.markjmind.mobile.api.android.util.JwTextUtils.java com.markjmind.mobile.api.android.util.PhoneInfo.java com.markjmind.mobile.api.android.util.WebConnection.java com.markjmind.mobile.api.android.xml.JwDomHandler.java com.markjmind.mobile.api.android.xml.JwDomLoader.java com.markjmind.mobile.api.android.xml.JwEditElementHandler.java com.markjmind.mobile.api.android.xml.JwXmlLoader.java com.markjmind.mobile.api.android.xml.JwXmlResoure.java com.markjmind.mobile.api.hub.ArrayJDhub.java com.markjmind.mobile.api.hub.DBhub.java com.markjmind.mobile.api.hub.JDhub.java com.markjmind.mobile.api.hub.Loader.java com.markjmind.mobile.api.hub.StoreList.java com.markjmind.mobile.api.hub.Store.java