精华内容
下载资源
问答
  • CF1超级翻牌活动全面开启,本次奖池全部为永久道具(神秘箱除外),英雄级武器在等你!CF1超级翻牌活动活动时间:110日-124日购买:10Q币购买复活币1个可获得1个钥匙,100Q币购买复活币10个可获得11个钥匙,仅...

    CF1月超级翻牌活动全面开启,本次奖池全部为永久道具(神秘箱除外),英雄级武器在等你!

    CF1月超级翻牌活动

    活动时间:1月10日-1月24日

    购买:10Q币购买复活币1个可获得1个钥匙,100Q币购买复活币10个可获得11个钥匙,仅限掌上道聚城购买可额外获得1个钥匙, 单Q限1 次;拥有代金券的玩家,可以使用代金券抵扣购买复活币并赠送钥匙,一次最多抵扣9个代金券,一旦代金券使用后无法退还(下单后未支付,订单被系统取消之后或手动取消之后会返还抵扣的代金券);

    抽奖:使用钥匙每一次抽奖会获得游戏道具和一次翻牌机会。抽奖获得的永久道具存放在【暂存箱】中,非永久道具直接发送到游戏内!暂存箱内的永久道具可选择重新分解成钥匙或发往游戏仓库(请注意:游戏内唯一性道具不能重复到账),已经领取到仓库的道具无法退换,请慎重(在参与活动期间请确认好绑定的大区);请及时处理您在暂存箱获得的奖励,活动结束后,未处理的奖励一律不予补发;

    翻牌:翻牌区每一轮为您准备四个永久道具,每个道具有3张相同的卡片,一共12张卡片。使用一次翻牌机会(可以通过好友分享链接及抽奖获得),可以翻开12张牌中的其中一张,不可重复翻开同一张,每一轮最多只能翻开6张牌,如果您翻开的6张牌中有任意3张相同的牌,将直接获得该道具(同样发到暂存箱可以进行分解操作);

    CF交流群:1023572583CF交友群可供玩家开黑组团,畅所欲言。

    点击进入快吧CF活动群:485687623,最新活动及活动BUG会在群内第一时间发布,群内全员禁言,让你第一时间了解活动以及活动BUG。

    展开全文
  • 好久没有写博客了,上篇博文距现在都有七个多了,实在是惭愧。但是这段时间仍然是在忙于项目或是自我充电。这几天实现了个基于GridView的翻牌动画效果,这里就将其整理出来同各位分享。  、整体介绍  ...

      好久没有写博客了,上一篇博文距现在都有七个多月了,实在是惭愧。但是这段时间仍然是在忙于项目或是自我充电。这几天实现了一个基于GridView的翻牌动画效果,这里就将其整理出来同各位分享。

      一、整体介绍 

      GridView设置15个Item(5*3),刚好满屏显示(没有ScrollBar),没有点击某个Item前可以使用摇一摇功能对GridView中的图片进行切换,点击某个Item时对应的图片放大,然后实现“翻牌”效果,并将该Item中显示的图片切换为对应的文字。随后所有其他的Item也自动实现翻牌效果。

      (1)目录结构

      

      (2)效果图

        

      二、详细介绍

      按上面的目录结构从上致下

      1、GridAdapter 继承至 BaseAdapter

        重点代码:

        (1)自定义的一个Item touch事件监听接口

    1  public interface  OnItemTouchedListener {
    2         public boolean onItemTouch (View v, MotionEvent event, int position);
    3  }

        (2)设置OnItemTouchedListener

    1  public void setOnItemTouchedListener(OnItemTouchedListener onItemTouchedListener) {
    2         this.listener = onItemTouchedListener;
    3  }

        (3)getView()函数中动态设置 Item的高、宽加载网络图片为每个Item设置OnTouchListener

    复制代码
     1 @Override
     2     public View getView(final int position, View convertView, ViewGroup parent) {
     3         LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     4         convertView = inflater.inflate(R.layout.grid_item, parent, false);
     5 
     6         LayoutParams layoutParams = convertView.getLayoutParams();
     7         layoutParams.width = viewWidth;
     8         layoutParams.height = viewHeight;
     9         convertView.setLayoutParams(layoutParams);
    10         ImageView imageView = (ImageView) convertView.findViewById(R.id.grid_image);
    11 
    12         DisplayImageOptions options = new DisplayImageOptions.Builder()//
    13                 .cacheInMemory(true)//
    14                 .cacheOnDisc(true)//
    15                 .bitmapConfig(Config.RGB_565)//
    16                 .build();
    17         ImageLoader.getInstance().displayImage(urlArray.get(position),
    18                 imageView, options);
    19         convertView.setOnTouchListener(new OnTouchListener() {
    20 
    21             @Override
    22             public boolean onTouch(View v, MotionEvent event) {
    23 
    24                 return listener.onItemTouch(v, event, position);
    25             }
    26         });
    27 
    28         return convertView;
    29     }
    复制代码

       2、RotateAnimation

      参考于github上jianghejie的3DNumberRotate项目中的NumberRotate3DAnimation类,基于Camera实现数字3D翻转动画。

      3、自定义的Application类

      项目中使用了universal-image-loader加载网络图片,在这里对ImageLoader进行初始化:

    复制代码
     1 private void initImageLoader() {
     2 
     3         DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder() //
     4                 .showImageForEmptyUri(R.mipmap.empty_img) //
     5                 .showImageOnFail(R.mipmap.empty_img) //
     6                 .cacheInMemory(true) //
     7                 .cacheOnDisc(true) //
     8                 .build();//
     9 
    10         File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext());
    11         ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
    12                 getApplicationContext())//
    13                 .memoryCache(new LruMemoryCache(5 * 1024 * 1024))//
    14                 .memoryCacheSize(10 * 1024 * 1024)//
    15                 .defaultDisplayImageOptions(defaultOptions)//
    16                 .discCache(new UnlimitedDiscCache(cacheDir))//
    17                 .discCacheFileNameGenerator(new HashCodeFileNameGenerator())//
    18                 .build();
    19         ImageLoader.getInstance().init(config);
    20     }
    复制代码

      4、util包中的几个工具类

        (1)Constants:放一些常量,这里我存放的是GridView中网络图片的路径;

        (2)DisplayUtil:这是关于显示的一个工具类,包括获取屏幕高宽、dp转px等功能;

        (3)ItemCenterMeasure:这个类是设计用来根据GridView高宽计算Item尺寸的,其实可以省去,或者直接归并到DisplayUtil中;

      5、MainActivity中功能较多写的比较杂乱

        主要代码:

        (1)Adapter设置自定义的OnItemTouchedListener

    复制代码
     1  mAdapter.setOnItemTouchedListener(new GridAdapter.OnItemTouchedListener() {
     2 
     3             @Override
     4             public boolean onItemTouch(View v, MotionEvent event, int position) {
     5                 mView = v;
     6                 currentPos = position;
     7                 if(event.getAction() == MotionEvent.ACTION_DOWN){
     8                     if (isClicked) {
     9                         Toast toast = Toast.makeText(context, getString(R.string.warning),
    10                                 Toast.LENGTH_SHORT);
    11                         toast.setGravity(Gravity.CENTER, 0, 0);
    12                         toast.show();
    13                         return false;
    14                     } else{
    15                         //play sound
    16                         soundPool.play(music, 1, 1, 0, 0, 1);
    17                         //trigger zoom animation on items
    18                         ScaleAnimation scaleAnimation = new ScaleAnimation(1.0f, 1.1f, 1.0f, 1.1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    19                         scaleAnimation.setDuration(500);
    20                         AnimationSet animationSet = new AnimationSet(true);
    21                         animationSet.addAnimation(scaleAnimation);
    22                         animationSet.setFillAfter(true);
    23                         animationSet.setAnimationListener(new Animation.AnimationListener() {
    24 
    25                             @Override
    26                             public void onAnimationStart(Animation animation) {
    27 
    28                             }
    29 
    30                             @Override
    31                             public void onAnimationRepeat(Animation animation) {
    32 
    33                             }
    34 
    35                             @Override
    36                             public void onAnimationEnd(Animation animation) {
    37                                 enableRefreshFirst = true;
    38                                 RotateAnimation rotateAnim = null;
    39 
    40                                 float cX = mView.getWidth() / 2.0f;
    41                                 float cY = mView.getHeight() / 2.0f;
    42                                 rotateAnim = new RotateAnimation(cX, cY);
    43 
    44                                 if (rotateAnim != null) {
    45                                     rotateAnim.setInterpolatedTimeListener(MainActivity.this, mView);
    46                                     rotateAnim.setFillAfter(true);
    47                                     rotateAnim.setAnimationListener(new Animation.AnimationListener() {
    48 
    49                                         @Override
    50                                         public void onAnimationStart(Animation animation) {
    51 
    52                                         }
    53 
    54                                         @Override
    55                                         public void onAnimationRepeat(Animation animation) {
    56 
    57                                         }
    58 
    59                                         @Override
    60                                         public void onAnimationEnd(Animation animation) {
    61                                             handler.postDelayed(new Runnable() {
    62 
    63                                                 @Override
    64                                                 public void run() {
    65                                                     otherItemRotate();
    66                                                 }
    67                                             }, 500);
    68                                         }
    69                                     });
    70                                     mView.startAnimation(rotateAnim);
    71 
    72                                 }
    73 
    74                                 isClicked = true;
    75                             }
    76                         });
    77                         v.startAnimation(animationSet);
    78                     }
    79                 }
    80 
    81                 return false;
    82             }
    83         });
    复制代码

        (2)动态创建一个TextView,并算出GridView的高、宽

          其中计算GridView的高度这一句(DisplayUtil.SCREEN_HEIGHT_PIXELS - DisplayUtil.dp2px(16) * 2 - tvBmHeight - 80)在我设备(分辨率:1920*1080)上要减去80px才能使所有的Item整好全部显示出来,不知道为什么,如果不减去80px,GridViw 中的最后一行Item将会显示不完全也就是说要通过滑动ScrollBar才能看全。这一点还望大神能给予指点。

    复制代码
     1 private void createCRTextView() {
     2         LinearLayout ll = (LinearLayout) findViewById(R.id.logo_ly);
     3         tvBm = new TextView(context);
     4         tvBm.setText(getResources().getString(R.string.logo));
     5         tvBm.setTextAppearance(context, R.style.logoTextView);
     6         LinearLayout.LayoutParams crParams = new LinearLayout.LayoutParams(GridLayout.LayoutParams.WRAP_CONTENT, GridLayout.LayoutParams.WRAP_CONTENT);
     7         crParams.topMargin = 5;
     8         crParams.bottomMargin = 10;
     9         crParams.gravity = Gravity.CENTER;
    10         tvBm.setLayoutParams(crParams);
    11 
    12         tvBm.setOnClickListener(new View.OnClickListener() {
    13 
    14             @Override
    15             public void onClick(View v) {
    16                 ScaleAnimation  scaleAnim = new ScaleAnimation(1.0f, 1.2f, 1.0f, 1.2f,
    17                         Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    18                 scaleAnim.setDuration(500);
    19                 scaleAnim.setFillAfter(false);
    20                 tvBm.startAnimation(scaleAnim);
    21             }
    22         });
    23 
    24         ll.addView(tvBm);
    25         int tvBmHeight = crParams.height + 5 + 10;
    26 
    27 
    28         gridWidthPix = DisplayUtil.SCREEN_WIDTH_PIXELS - DisplayUtil.dp2px(16) * 2;
    29         //I am not sure why the right of next equality should minus 80px to display all items in the gridview without scrollbar in my devices (1       920*1080),
    30         //this may make a bad adaption for various devices with different resolution ratio
    31         gridHeightPix = DisplayUtil.SCREEN_HEIGHT_PIXELS - DisplayUtil.dp2px(16) * 2 - tvBmHeight - 80;
    32 
    33 
    34     }
    复制代码

        (3)摇一摇触发的时候更新GridView中的图片路径

    复制代码
     @Override
        public void onSensorChanged(SensorEvent event) {
            int sensorType = event.sensor.getType();
            float[] values = event.values;
            if (sensorType == Sensor.TYPE_ACCELEROMETER) {
                //values[0] X axis acceleration;values[1] Y axis acceleration;values[2] Z axis acceleration
                if (Math.abs(values[0]) > 17 || Math.abs(values[1]) > 17 || Math.abs(values[2]) > 17) {
    
                    if (!isClicked) {
                        vibrator.vibrate(500);
                        mAdapter.setUrls(Constants.getUrls(2));
                        mGridView.invalidate();
                    }
                }
            }
    
    
        }
    复制代码

      6、还有一个自定义的GridView,实现禁止滑动

      重写dispatchTouchEvent方法

    复制代码
        @Override
        public boolean dispatchTouchEvent(MotionEvent ev) {
            if (ev.getAction() == MotionEvent.ACTION_MOVE) {
                return true;//禁止gridview滑动
            }
            return super.dispatchTouchEvent(ev);
        }
    复制代码

      7、布局文件这里就不给予说明了,很简单明了的,需要参考的可以直接下源码看。

        源码下载链接:

        (1)CSDN:需要1个下载积分,积分有点缺您要是愿意打赏请点这里下载

        (2)GitHub:实在吝啬或是没有积分也没关系,请到这里下载,当然也希望你Start一下,或是Fork;

      好了到此算是写完了,如果对您有用,劳烦您点个赞或是分享一下;如果您对代码有一些建议,期待您在评论处给予指正。

      最近状态有点不佳,送给自己以及各位一句话共勉:

    业精于勤 荒于嬉;行成于思 毁于随

     

    展开全文
  • 翻牌吧!花粉》又来了!本期的主题是从P9的搭载徕卡重新定义手机摄影,到P30的徕卡四摄, 华为 P系列从未停止过对更好的移动影像的追求,48日华为P40系列的发布再次开启了手机摄影全新时代。华为P系列最新一代...
    445434d3b9f9c6e2403564fafeb0e7a7.gif

    《翻牌吧!花粉》又来了!

    本期的主题是

    63bb2063ef4893efdf44ce9485b3d34e.png

    从P9的搭载徕卡重新定义手机摄影,到P30的徕卡四摄, 华为 P系列从未停止过对更好的移动影像的追求,4月8日华为P40系列的发布再次开启了手机摄影全新时代。

    华为P系列最新一代产品华为P40系列在影像能力上全面进化,集暗拍和长焦等优点于一身,更增加了超大尺寸超感知传感器、全像素八核对焦、XD Fusion图像引擎等,让摄影突破时间限制,以"超感知影像"改写移动影像新标准。

    著名导演、艺术家王潮歌就对华为P40系列的影像能力非常认可,专门发微博为华为P40系列证言,表示借华为P40系列,可以"见我所未见,知我所未知"。

    本次,《翻牌吧!花粉》邀请华为P系列产品总经理王永刚,来跟大家一起聊聊华为P40系列这些“秘密武器”,是如何做到王潮歌导演所说的:见我所未见,知我所未知!

    本期大咖嘉宾

    华为P系列产品总经理 王永刚

    689b9e658d78d061fc4d589eb6bb006b.png

    花粉提问时间

    2020年5月22日至5月30日

    嘉宾在线互动时间

    2020年5月30日(周六)14:30-17:30

    互动平台

    花粉论坛

    参与方式

    点击文末『阅读原文』

    进花粉论坛活动主贴

    根据贴内规则参加互动提问

    本期话题

    1、您想了解的关于华为P40系列的外观,拍照,性能体验等方面的问题。
    2、您想了解的关于华为P40系列的全场景特性体验等方面问题。
    3、您想了解的关于华为P40系列相关的任何研发问题。

    奖品设置

    一等奖1名:华为P40
    二等奖3名:HUAWEI FreeLace 无线耳机
    三等奖10名:4000花瓣

    快快点击阅读原文

    参加互动提问吧~

    bb5c37780f3dcaf7cc0b9573e451a7ae.gif71880fc1636838a0e2dc912d019a637b.gif5a5d029dc285de17825e4b7126fec9d3.gif

    更多精彩内容“阅读原文”

    右边给我一朵小花花

    22d750a343dec77164dfd96ba08414ed.gif
    展开全文
  • 据悉,该片将于328日2D、3D同步上映。  黄圣依谈戏哽咽落泪  《我在路上最爱你》讲述段发生在旅行中的浪漫爱情故事。黄圣依扮演个到大城市闯荡的女孩,迫于生计到酒吧做“外围女”,
    昨日,3D暖心爱情电影《我在路上最爱你》在京举行发布会,出品人、总制片人杨子、导演金丰起携主演黄圣依、池珍熙亮相。片中黄圣依扮演酒吧外围女,有大尺度的激情表演,她现场忆述拍戏经历时哽咽落泪。据悉,该片将于3月28日2D、3D同步上映。


      黄圣依谈戏哽咽落泪


      《我在路上最爱你》讲述一段发生在旅行中的浪漫爱情故事。黄圣依扮演一个到大城市闯荡的女孩,迫于生计到酒吧做“外围女”,与文章、池珍熙扮演的角色分别有突破尺度的激情表演。发布会上,黄圣依看完片花上台后久久不能平静,哽咽将近一分钟才开始忆述拍戏过程。她坦言,这部戏是她到现在为止尺度最大的表演,但大尺度并不是单纯的激情戏,而是为了展现人物情感的多层次。


      在人物海报中,黄圣依背靠车厢,表情淡然,并配以“我在决定放手时最爱你”的文案,显得很伤感。黄圣依表示,扮演这个角色让她开始体验一种新的感受,学着对生活中曾经执著的东西放手,非常有意义。


      杨子称娱乐圈像赌场


      《大长今》中的“闵大人”、韩国演员池珍熙,在片中与黄圣依、车秀妍分别上演一段情。黄圣依大赞池珍熙不仅是个“暖男”,而且是位“绅士”。现场游戏环节,池珍熙还用韩语表达“我要吃炸鸡和啤酒”,黄圣依一下猜到,默契十足。


      作为电影的出品人和总制片人,杨子表示,投拍这部电影的主要目的是想给浮躁的娱乐圈注入一股暖流,“我进入娱乐行业已经有大概十年,感觉到娱乐圈是个名利场,太浮躁!更像赌场,不到最后翻牌的那一刻,结果都是未卜的。”


      杨子坦言,这部电影不是一部情爱大片,而是一部暖心大片,“这部电影不仅有爱情,还有亲情。女主角最终回到家乡后发现奶奶去世了,我们也想通过这个情节,提醒在外地打工的人们常回家看看。
    展开全文
  • 雷锋网323日报道,2001年227日,在海南省琼海市东岸的个默默无闻的小镇上,聚集了来自25个亚洲国家和澳大利亚的政要。博鳌亚洲论坛成立大会在这里举行。今日(2017年323日),第16届博鳌亚洲论坛2017年年会...
  • 一半是牌桌自己事件,包括:抽取庄家位,发底牌,发翻牌,发转牌,发河牌,算奖等。其实大部分方法来说都是两句代码,分出方法是为了维护方便,也是为了能好意思贴出来。先看这个牌桌这半个类吧,写了这么几年代码...
  • 523日即将大版本更新,更新的内容非常多,很多玩家从个地方看到一些,另个地方看到一些,我们这期将对5.23版本的更新进行个归纳汇总以及活动的玩法攻略,让大家快速了解新版本和快速获得活动奖励。...
  • 到现在,好几个了吧。我靠,比小强的生命力还强的BUG。 PHP和C++都查过这个问题,然后PHP告诉我们:服务器端写的验证信息有误,导至翻不了牌。吐血,十几行的代码,我看了多次,就是没能看出什么问题来, 于是...
  • 做前端几个,真的是各种坑都有,今天就来聊聊这几天遇到的多次绑定click遇到的坑。留下一些自己的记录!! 首先是HTML这块 这个是个翻牌子的游戏界面是这样的 然后是HTML部分的 点我翻牌 ...
  • 兴奋是由于新改版的签到页面相比之前多出了个全新的功能板块,没错,那就是——签到翻牌抽奖!疑惑是因为很多家人们还不太熟悉新改版的签到功能,会有一些疑问,比如:1、改版后该从哪里进入新的签到页面呢?2、...
  • 雅可比行列式的实际意义

    千次阅读 2019-11-25 15:49:28
    是谁 在呼唤雅可比 今天小天整理留言的时候,看到有模友留下了这么条留言: 恭喜你!...1804年1210日,卡尔·雅可比(Carl Gustav Jacob Jacobi)出生于普鲁士的个殷实犹太人家庭,成为家中的...
  • 背景上次Redis MQ分布式改造之后,编排的容器稳定运行个多,昨天突然收到ETL端同事通知,没有采集到解析日志。赶紧进服务器 docker ps查看容器:用于数据接收的ReceiverApp容器挂掉了;尝试dockercontainerstart...
  • 背景上次Redis MQ分布式改造之后,编排的容器稳定运行个多,昨天突然收到ETL端同事通知,没有采集到解析日志。赶紧进服务器 docker ps查看容器:用于数据接收的ReceiverApp容器挂掉了;尝试dockercontainerstart...
  • 直播-序言

    2016-11-12 19:01:16
    公司从今年六初,转型做1对1收费直播。直播场景如图下图。整个流程大致如下 1. 用户发起找人,系统自动匹配个主播给当前用户 2. 用户翻牌(用户同意直播) 3. 系统通知主播 4. 主播同意直播(or 拒绝直播) ...
  • 打开手机淘宝、支付宝,搜索“人人3小时”,数百个城市、近千个公益项目等你“翻牌”。 去年首届“9.5公益周”期间,阿里巴巴推出“3小时公益平台”,获得公众热情响应。截止今年8底,3小时平台注册人数超过1100万...
  •  我是1989年参加工作,1998年之前主要从事商业管理和行政管理工作,1998年5加入了北站房地产开发公司,开始了我从事物业管理的职业生涯。可以说三年来的物业管理工作使我对物业管理这新兴行业有了个全面的...
  • 过去的事情

    2011-11-24 12:11:55
    去年6,从上大学起陪伴我7年的千锤百炼久经风雨的诺基亚手机,在次意外坠地之后,终于伤重不治,永远的失去信号,宣布退休~ 当时下了狠心,买了个联想的乐phone,这可真是割肉了~所以就想着怎么能挽回点~好吧,...
  • 1029日中午12点左右,江北新区公安分局交警支队机动大队民警朱宏仁在快速路巡逻时,发现辆红色半挂车正在路上行驶,明明快速路上有电子警察曝光,司机竟然还敢肆无忌惮闯禁区,莫非有什么蹊跷?安装了翻牌器才让...
  •  运动会观后感范文一 我们的学校迎来了国际学校翻牌,随之小学部召开了运动会。“世界舞台,随我而动”是这次运动会的主题。这是小学部第十五届运动会,校领导隆重出席,可见这是场大型运动会。为了这场运动会,...
  • 集微网827日消息(文/数码控),华为花粉俱乐部官方微信公众号放出了【翻牌吧!花粉】栏目关于华为手环B6如何在手环与蓝牙耳机模式之间切换等问题的解答,我们起来看看。图片来源:华为商城Q:华为手环B6是怎么...
  • 本报告考察了影响延安市农民增收和农村社区公共服务发展的主要问题,提出在营销环节上要大力发展农民营销合作社,政府要为其让出空间,将那些由政府部门翻牌而成的行政性公司或脱钩或解散;农村社区公共事业缺乏资源...
  • 2020年社区建设调研报告4篇 *目录2020年社区建设调研报告农村社区建设对策调研报告农村社区建设调研报告市区社区建设调研报告 、 基本情况 我县社区建设始于20xx年5,截止目前,全县10个镇共设立社区32个,...
  • 分享主题:爬虫HTTP详解网页结构简介一文带你了解爬虫 大家好,本期将为大家来采访位爬虫工程师,与他...第二部分为提问解答:猪哥收集了近100个问题,然后由Loco大佬自行选择回答,快看看你有没有被翻牌吧!...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

一月翻牌