package com.duguang.baseanimation.ui; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.util.Log; import android.view.View; import android.view.Window; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.RelativeLayout.LayoutParams; import android.widget.TextView; import com.duguang.baseanimation.ContantValue; import com.duguang.baseanimation.R; import com.duguang.baseanimation.ui.base.BaseActivity; import com.duguang.baseanimation.ui.canvas.CanvasMainActivity; import com.duguang.baseanimation.ui.customview.CustomViewMainActivity; import com.duguang.baseanimation.ui.flip.FlipMainActivity; import com.duguang.baseanimation.ui.gesturepassword.homekey.GesturePasswordDemoActivity; import com.duguang.baseanimation.ui.imitate.ImitateMainActivity; import com.duguang.baseanimation.ui.listivew.ListViewMani; import com.duguang.baseanimation.ui.listivew.refresh.RefreshMainActivity; import com.duguang.baseanimation.ui.nineold.NineOldMani; import com.duguang.baseanimation.ui.notification.NotificationMainActivity; import com.duguang.baseanimation.ui.property.PropertyAnimationActivity; import com.duguang.baseanimation.ui.splash.SplashMainActivity; import com.duguang.baseanimation.ui.tab.TabMainActivity; import com.duguang.baseanimation.utils.ExampleUtil; import com.umeng.fb.FeedbackAgent; import com.umeng.socialize.bean.LIKESTATUS; import com.umeng.socialize.bean.SocializeEntity; import com.umeng.socialize.controller.RequestType; import com.umeng.socialize.controller.UMServiceFactory; import com.umeng.socialize.controller.UMSocialService; import com.umeng.socialize.controller.listener.SocializeListeners.SocializeClientListener; import com.umeng.socialize.view.ActionBarView; import com.umeng.update.UmengUpdateAgent; /** * 主页面 继承BaseActivity获取ActionBar * * @author duguang 博客地址:http://blog.csdn.net/duguang77 */ public class MainActivity extends BaseActivity implements OnItemClickListener { private static final String tag = "MainActivity"; private ListView listView_animation; private ArrayAdapter<String> itemAdapter; private TextView tvHint; @Override public void setView() { FeedbackAgent agent = new FeedbackAgent(this); agent.sync(); UmengUpdateAgent.update(this);// 友盟更新 UmengUpdateAgent.setUpdateOnlyWifi(false);// 在非Wifi情况下也检测版本更新 getWindow().requestFeature(Window.FEATURE_PROGRESS); // 去标题栏 setContentView(R.layout.activity_splash); init(); registerMessageReceiver(); // used for receive msg } private void init() { UMSocialService controller = UMServiceFactory.getUMSocialService( "com.umeng.like", RequestType.SOCIAL); controller.getEntity().getLikeStatus(); controller.likeChange(this, new SocializeClientListener() { @Override public void onStart() { } @Override public void onComplete(int status, SocializeEntity entity) { if (entity != null) { // 获取当前的“喜欢”状态 LIKESTATUS likeStatus = entity.getLikeStatus(); } } }); // 用于集成ActionBar 的ViewGroup ActionBar 将填充提供的ViewGroup(需要开发者自己在布局文件或代码中创建 // ,建议使用RelativeLayout) RelativeLayout parent = (RelativeLayout) findViewById(R.id.RelativeLayout); // 创建ActionBar des参数是ActionBar的唯一标识,请确保不为空 ActionBarView socializeActionBar = new ActionBarView(this, "111"); LayoutParams layoutParams = new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); socializeActionBar.setLayoutParams(layoutParams); // 添加ActionBar parent.addView(socializeActionBar); } @Override public void initView() { listView_animation = (ListView) findViewById(R.id.listView_animation); tvHint = (TextView) findViewById(R.id.tv_hint); itemAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ContantValue.mainItem); Animation ani = new AlphaAnimation(0f, 1f); ani.setDuration(1500); ani.setRepeatMode(Animation.REVERSE); ani.setRepeatCount(Animation.INFINITE); tvHint.startAnimation(ani); } @Override public void setListener() { listView_animation.setAdapter(itemAdapter); listView_animation.setOnItemClickListener(this); } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Log.i(tag, String.valueOf(position)); // Animation anim = AnimationUtils.loadAnimation(MainActivity.this, // R.anim.out_translate_top); // listView_animation.startAnimation(anim); Intent intent = null; switch (position) { case 0: //简单动画 startIntent(SimpleActivity.class); overridePendingTransition(R.anim.in_translate_top, R.anim.out_translate_top); break; case 1: //复杂动画 startIntent(ComplexActivity.class); overridePendingTransition(R.anim.block_move_right, R.anim.small_2_big); break; case 2: //Splash引导动画 startIntent(SplashMainActivity.class); overridePendingTransition(R.anim.small_2_big, R.anim.block_move_right); break; case 3: //Flip效果集合 startIntent(FlipMainActivity.class); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; case 4: //NineOld效果 startIntent(NineOldMani.class); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; case 5: //Property效果 startIntent(PropertyAnimationActivity.class); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; case 6: //高仿动画 startIntent(ImitateMainActivity.class); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; case 7: //ListView效果集合 startIntent(ListViewMani.class); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; case 8: //自定义控件效果集合 startIntent(CustomViewMainActivity.class); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; case 9: //页面滑动切换效果集合 startIntent(TabMainActivity.class); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; case 10: //画笔绘制效果集合 startIntent(CanvasMainActivity.class); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; case 11: //手势效果集合 startIntent(GesturePasswordDemoActivity.class); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; case 12: //Notification所有效果集合 startIntent(NotificationMainActivity.class); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; default: break; } } /** * 切换Activity * @param class1 */ public void startIntent(Class class1){ Intent intent = new Intent(MainActivity.this,class1); startActivity(intent); } // for receive customer msg from jpush server private MessageReceiver mMessageReceiver; public static final String MESSAGE_RECEIVED_ACTION = "com.example.jpushdemo.MESSAGE_RECEIVED_ACTION"; public static final String KEY_TITLE = "title"; public static final String KEY_MESSAGE = "message"; public static final String KEY_EXTRAS = "extras"; public static boolean isForeground = false; public void registerMessageReceiver() { mMessageReceiver = new MessageReceiver(); IntentFilter filter = new IntentFilter(); filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); filter.addAction(MESSAGE_RECEIVED_ACTION); registerReceiver(mMessageReceiver, filter); } public class MessageReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (MESSAGE_RECEIVED_ACTION.equals(intent.getAction())) { String messge = intent.getStringExtra(KEY_MESSAGE); String extras = intent.getStringExtra(KEY_EXTRAS); StringBuilder showMsg = new StringBuilder(); showMsg.append(KEY_MESSAGE + " : " + messge + "\n"); if (!ExampleUtil.isEmpty(extras)) { showMsg.append(KEY_EXTRAS + " : " + extras + "\n"); } } } } @Override protected void onResume() { isForeground = true; super.onResume(); } @Override protected void onPause() { isForeground = false; super.onPause(); } @Override protected void onDestroy() { unregisterReceiver(mMessageReceiver); super.onDestroy(); } }