<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="40px"
                android:background="#000fff"
               >
    <ImageView
            android:id="@+id/menu_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
             android:src="@drawable/icon"
            />
    <TextView
            android:id="@+id/menu_content"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"

            android:layout_toRightOf="@id/menu_image"
            android:textColor="#000000"

            android:textStyle="bold"
            android:text="123"
            />
 </RelativeLayout>

res\anim\menu_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
 <translate android:fromYDelta="100%p" android:toYDelta="0" android:duration="1000" />
 <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="1000" />
</set>

res\anim\menu_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
 <translate android:fromYDelta="0" android:toYDelta="100%p" android:duration="1000" />
 <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="1000" />
</set>

res\layout\main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />
     <ListView android:id="@+id/listview_catalog"
              android:layout_gravity="right"
              android:layout_width="wrap_content" android:layout_height="wrap_content"
               >
    </ListView>
</LinearLayout>

res\layout\setting_menu.xml

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="40px"
                android:background="#000fff"
               >
    <ImageView
            android:id="@+id/menu_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
             android:src="@drawable/icon"
            />
    <TextView
            android:id="@+id/menu_content"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"

            android:layout_toRightOf="@id/menu_image"
            android:textColor="#000000"

            android:textStyle="bold"
            android:text="PowenKo.com"
            />
 </RelativeLayout>

 

package com.powenko.Tutorial_Dialog_PopupWindow_viewFlipper;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Gravity;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.SimpleAdapter;
import android.widget.ViewFlipper;

public class Tutorial_Dialog_PopupWindow_viewFlipperActivity extends Activity{

	 private ViewFlipper mViewFlipper;
	  private PopupWindow popup = null;
	    private Handler mHandler = new Handler(){

	        public void handleMessage(Message msg) {
	            switch (msg.what) {
	            case 1:
	                showPopupWindow();
	                break;
	            }
	        };
	    };

	    public void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.main);
	        initPopMenu();
	        //create the timer
	        Timer timer = new Timer();
	        timer.schedule(new initPopupWindow(), 100);

	    }

	    private class initPopupWindow extends TimerTask{
	        @Override
	        public void run() {

	            Message message = new Message();
	            message.what = 1;
	            mHandler.sendMessage(message);

	        }
	    }

	    public void showPopupWindow() {

	        popup.showAtLocation(findViewById(R.id.listview_catalog), Gravity.BOTTOM, -82, 0);
	        mViewFlipper.startFlipping();
	    }
	    private void initPopMenu() {

	        mViewFlipper = new ViewFlipper(this);
	        mViewFlipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.menu_in));
	        mViewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.menu_out));
	        mViewFlipper.setFlipInterval(10000);

	        String[] adapterItems = {"menu_image", "menu_content"};
	        ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
	        HashMap<String, Object> map1 = new HashMap<String, Object>();
	        HashMap<String, Object> map2 = new HashMap<String, Object>();
	        HashMap<String, Object> map3 = new HashMap<String, Object>();
	        HashMap<String, Object> map4 = new HashMap<String, Object>();
	        HashMap<String, Object> map5 = new HashMap<String, Object>();
	        HashMap<String, Object> map6 = new HashMap<String, Object>();
	        HashMap<String, Object> map7 = new HashMap<String, Object>();
	        HashMap<String, Object> map8 = new HashMap<String, Object>();
	        HashMap<String, Object> map9 = new HashMap<String, Object>();

	        map1.put(adapterItems[0],  R.drawable.icon );
	        map1.put(adapterItems[1], "menu-1");

	        map2.put(adapterItems[0], R.drawable.icon);
	        map2.put(adapterItems[1], "menu-2");

	        map3.put(adapterItems[0], R.drawable.icon);
	        map3.put(adapterItems[1], "menu-3");

	        map4.put(adapterItems[0], R.drawable.icon);
	        map4.put(adapterItems[1], "menu-4");

	        map5.put(adapterItems[0], R.drawable.icon);
	        map5.put(adapterItems[1], "menu-5");

	        map6.put(adapterItems[0], R.drawable.icon);
	        map6.put(adapterItems[1], "menu-6");

	        map7.put(adapterItems[0], R.drawable.icon);
	        map7.put(adapterItems[1], "PowenKo.com");

	        map8.put(adapterItems[0], R.drawable.icon);
	        map8.put(adapterItems[1], "menu-8");

	        map9.put(adapterItems[0], R.drawable.icon);
	        map9.put(adapterItems[1], "menu-9");
	        listItem.add(map1);
	        listItem.add(map2);
	        listItem.add(map3);
	        listItem.add(map4);
	        listItem.add(map5);
	        listItem.add(map6);
	        listItem.add(map7);
	        listItem.add(map8);
	        listItem.add(map9);
	        SimpleAdapter adapter = new SimpleAdapter(this, listItem, R.layout.setting_menu,
	                adapterItems, new int[]{
	                        R.id.menu_image, R.id.menu_content});

	        ListView listView = new ListView(this);
	        listView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
	        listView.setAdapter(adapter);
	        listView.setFocusable(false);
	        listView.setCacheColorHint(Color.TRANSPARENT);
	        listView.setScrollingCacheEnabled(false);
//	        listView.setOnItemClickListener(new MenuOnItemClickListener());

	        mViewFlipper.addView(listView);
	        popup = new PopupWindow(mViewFlipper, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
	      //  popup.setBackgroundDrawable(getResources().getDrawable(R.drawable.menulistbg));
	        popup.setWidth(150);
	        popup.setFocusable(true);
	        popup.update();

	    }

	}

sample code:

Tutorial_Dialog_PopupWindow_viewFlipperActivity

By admin-powenko

Dr. Powen Ko is a teacher and CEO on LoopTek LLC, and like to teaching. if you need to class, please let PowenKo know, he will love to service and sharing. LoopTek web site is www.looptek.com

Leave a Reply