Android Open Source - JiangHomeStyle_Android_Phone Pop Menu






From Project

Back to project page JiangHomeStyle_Android_Phone.

License

The source code is released under:

Apache License

If you think the Android project JiangHomeStyle_Android_Phone 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.cidesign.jianghomestylephone.widget;
// ww w.j  av  a2  s. c om
import java.util.HashMap;

import android.content.Context;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;

import com.cidesign.jianghomestylephone.R;
import com.cidesign.jianghomestylephone.tools.WidgetCache;

public class PopMenu
{
  public static void initPopuWindow(Context ctx, View showLocation, int menuViewID,int screenWidth)
  {
    LayoutInflater mLayoutInflater = LayoutInflater.from(ctx);
    /* ???????menu???? view??VIEW */
    View sub_view = mLayoutInflater.inflate(menuViewID, null);
    /* ????????????????view ????????????? */
    final PopupWindow mPopupWindow = new PopupWindow(sub_view, screenWidth - 180, LayoutParams.WRAP_CONTENT);
    /* ????????? */
    mPopupWindow.setBackgroundDrawable(ctx.getResources().getDrawable(R.drawable.popbg));
    /* ?????????????? */
    mPopupWindow.setOutsideTouchable(true);
    /* ?????????? */
    // mPopupWindow.setAnimationStyle(R.style.mypopwindow_anim_style);

    mPopupWindow.update();
    mPopupWindow.setTouchable(true);
    /* ?????menu?????????????????????? */
    mPopupWindow.setFocusable(true);

    /**
     * 1.????????MENU?????????? 2.sub_view??PopupWindow????View
     */
    sub_view.setFocusableInTouchMode(true);
    sub_view.setOnKeyListener(new OnKeyListener()
    {
      @Override
      public boolean onKey(View v, int keyCode, KeyEvent event)
      {
        // TODO Auto-generated method stub
        if ((keyCode == KeyEvent.KEYCODE_MENU) && (mPopupWindow.isShowing()))
        {
          mPopupWindow.dismiss();// ??????????menu??PopupWindow???????
          return true;
        }
        return false;
      }
    });

    /* ????MENU?? */
    View[] menu = new View[4];
    menu[0] = sub_view.findViewById(R.id.topLandscapeMenuBtn);
    menu[1] = sub_view.findViewById(R.id.topHumanityMenuBtn);
    menu[2] = sub_view.findViewById(R.id.topStoryMenuBtn);
    menu[3] = sub_view.findViewById(R.id.topCommunityMenuBtn);

    final HashMap<Integer, View> hashMap = WidgetCache.getInstance().getViewCache();

    menu[0].setOnClickListener(new OnClickListener()
    {
      @Override
      public void onClick(View v)
      {
        ((CustomScrollView) hashMap.get(R.id.mainScrollView)).smoothScrollTo(0,
            (int) ((ImageView) hashMap.get(R.id.landscapeBgImg)).getY());
        mPopupWindow.dismiss();
      }
    });

    menu[1].setOnClickListener(new OnClickListener()
    {
      @Override
      public void onClick(View v)
      {
        ((CustomScrollView) hashMap.get(R.id.mainScrollView)).smoothScrollTo(0,
            (int) ((ImageView) hashMap.get(R.id.humanityBgImg)).getY());
        mPopupWindow.dismiss();
      }
    });

    menu[2].setOnClickListener(new OnClickListener()
    {
      @Override
      public void onClick(View v)
      {
        ((CustomScrollView) hashMap.get(R.id.mainScrollView)).smoothScrollTo(0,
            (int) ((ImageView) hashMap.get(R.id.storyBgImg)).getY());
        mPopupWindow.dismiss();
      }
    });

    menu[3].setOnClickListener(new OnClickListener()
    {
      @Override
      public void onClick(View v)
      {
        ((CustomScrollView) hashMap.get(R.id.mainScrollView)).smoothScrollTo(0,
            (int) ((ImageView) hashMap.get(R.id.communityBgImg)).getY());
        mPopupWindow.dismiss();
      }
    });
    mPopupWindow.showAsDropDown(showLocation, 80, 0);
  }
  
}




Java Source Code List

com.cidesign.jianghomestylephone.DetailActivity.java
com.cidesign.jianghomestylephone.JiangActivity.java
com.cidesign.jianghomestylephone.MainActivity.java
com.cidesign.jianghomestylephone.SplashActivity.java
com.cidesign.jianghomestylephone.adapter.CommunityViewpagerAdapter.java
com.cidesign.jianghomestylephone.adapter.HumanityViewpagerAdapter.java
com.cidesign.jianghomestylephone.adapter.LandscapeViewpagerAdapter.java
com.cidesign.jianghomestylephone.adapter.LayoutCaculateAdapter.java
com.cidesign.jianghomestylephone.adapter.StoryViewpagerAdapter.java
com.cidesign.jianghomestylephone.async.AsyncDownTask.java
com.cidesign.jianghomestylephone.async.AsyncInitCommunityData.java
com.cidesign.jianghomestylephone.async.AsyncInitData.java
com.cidesign.jianghomestylephone.async.AsyncInitHomeData.java
com.cidesign.jianghomestylephone.async.AsyncInitHumanityData.java
com.cidesign.jianghomestylephone.async.AsyncInitLandscapeData.java
com.cidesign.jianghomestylephone.async.AsyncInitStoryData.java
com.cidesign.jianghomestylephone.db.DatabaseConfigUtil.java
com.cidesign.jianghomestylephone.db.DatabaseHelper.java
com.cidesign.jianghomestylephone.entity.ArticleEntity.java
com.cidesign.jianghomestylephone.entity.FileListEntity.java
com.cidesign.jianghomestylephone.entity.LayoutEntity.java
com.cidesign.jianghomestylephone.entity.RelativeLayoutRulesEntity.java
com.cidesign.jianghomestylephone.http.ArticalOperation.java
com.cidesign.jianghomestylephone.http.DownLoadThread.java
com.cidesign.jianghomestylephone.service.DownloadService.java
com.cidesign.jianghomestylephone.tools.CategoryDataLoadingLogic.java
com.cidesign.jianghomestylephone.tools.FileOperationTools.java
com.cidesign.jianghomestylephone.tools.JiangCategory.java
com.cidesign.jianghomestylephone.tools.LayoutMarginSetting.java
com.cidesign.jianghomestylephone.tools.LoadingDataFromDB.java
com.cidesign.jianghomestylephone.tools.LoadingImageTools.java
com.cidesign.jianghomestylephone.tools.MD5Tools.java
com.cidesign.jianghomestylephone.tools.StorageUtils.java
com.cidesign.jianghomestylephone.tools.TimeTools.java
com.cidesign.jianghomestylephone.tools.WidgetCache.java
com.cidesign.jianghomestylephone.tools.XmlParseTools.java
com.cidesign.jianghomestylephone.version.NetworkTool.java
com.cidesign.jianghomestylephone.version.VersionConfig.java
com.cidesign.jianghomestylephone.version.VersionUpdate.java
com.cidesign.jianghomestylephone.widget.CommunityRelativeLayout.java
com.cidesign.jianghomestylephone.widget.CustomScrollView.java
com.cidesign.jianghomestylephone.widget.HScrollViewTouchLogic.java
com.cidesign.jianghomestylephone.widget.HumanityRelativeLayout.java
com.cidesign.jianghomestylephone.widget.LandscapeRelativeLayout.java
com.cidesign.jianghomestylephone.widget.PopMenu.java
com.cidesign.jianghomestylephone.widget.StoryRelativeLayout.java
org.apache.tools.zip.AbstractUnicodeExtraField.java
org.apache.tools.zip.AsiExtraField.java
org.apache.tools.zip.CentralDirectoryParsingZipExtraField.java
org.apache.tools.zip.ExtraFieldUtils.java
org.apache.tools.zip.FallbackZipEncoding.java
org.apache.tools.zip.GeneralPurposeBit.java
org.apache.tools.zip.JarMarker.java
org.apache.tools.zip.NioZipEncoding.java
org.apache.tools.zip.Simple8BitZipEncoding.java
org.apache.tools.zip.UnicodeCommentExtraField.java
org.apache.tools.zip.UnicodePathExtraField.java
org.apache.tools.zip.UnixStat.java
org.apache.tools.zip.UnparseableExtraFieldData.java
org.apache.tools.zip.UnrecognizedExtraField.java
org.apache.tools.zip.UnsupportedZipFeatureException.java
org.apache.tools.zip.Zip64ExtendedInformationExtraField.java
org.apache.tools.zip.Zip64Mode.java
org.apache.tools.zip.Zip64RequiredException.java
org.apache.tools.zip.ZipConstants.java
org.apache.tools.zip.ZipEightByteInteger.java
org.apache.tools.zip.ZipEncodingHelper.java
org.apache.tools.zip.ZipEncoding.java
org.apache.tools.zip.ZipEntry.java
org.apache.tools.zip.ZipExtraField.java
org.apache.tools.zip.ZipFile.java
org.apache.tools.zip.ZipLong.java
org.apache.tools.zip.ZipOutputStream.java
org.apache.tools.zip.ZipShort.java
org.apache.tools.zip.ZipUtil.java