<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Gallery居左 點(diǎn)擊禁止滑動(dòng)

      兩種方法:

      1、重寫Gallery,需要設(shè)置Gallery的寬度為固定值,fill_parent也不行;

      2、設(shè)置Gallery屬性android:ScrollX的值,缺點(diǎn)setOnClickItemListener時(shí),由于水平偏移,導(dǎo)致item點(diǎn)擊事件位置不準(zhǔn)確

      目前,對(duì)于Gallery的兩端對(duì)齊暫時(shí)無法實(shí)現(xiàn)

      重寫Gallery方法如下:

      public class BookcaseGallery extends Gallery {
          private Camera mCamera;
          private int mWidth;
          private int mPaddingLeft;
          private boolean flag;
          private static int firstChildWidth;
          private static int firstChildPaddingLeft;
          private int offsetX;
          private IOnItemClickListener mListener;
      
          public BookcaseGallery(Context context) {
              super(context);
              mCamera = new Camera();
              this.setStaticTransformationsEnabled(true);
          }
      
          public BookcaseGallery(Context context, AttributeSet attrs) {
              super(context, attrs);
              mCamera = new Camera();
              setAttributesValue(context, attrs);
              this.setStaticTransformationsEnabled(true);
          }
      
          public BookcaseGallery(Context context, AttributeSet attrs, int defStyle) {
              super(context, attrs, defStyle);
              mCamera = new Camera();
              setAttributesValue(context, attrs);
              this.setStaticTransformationsEnabled(true);
          }
      
          private void setAttributesValue(Context context, AttributeSet attrs) {
              TypedArray typedArray = context.obtainStyledAttributes(attrs,
                      new int[] { attr.paddingLeft });
              mPaddingLeft = typedArray.getDimensionPixelSize(0, 0);
              typedArray.recycle();
          }
      
          protected boolean getChildStaticTransformation(View child, Transformation t) {
              t.clear();
              t.setTransformationType(Transformation.TYPE_MATRIX);
              mCamera.save();
              final Matrix imageMatrix = t.getMatrix();
              if (flag) {
                  firstChildWidth = getChildAt(0).getWidth();
                  firstChildPaddingLeft = getChildAt(0).getPaddingLeft();
              }
              offsetX = firstChildWidth / 2 + firstChildPaddingLeft + mPaddingLeft
                      - mWidth / 2 + 10;
              mCamera.translate(offsetX, 0f, 0f);
              mCamera.getMatrix(imageMatrix);
              mCamera.restore();
              return true;
          }
      
          @Override
          public boolean onTouchEvent(MotionEvent event) {
              event.offsetLocation(-offsetX, 0);
              return super.onTouchEvent(event);
          }
      
          protected void onSizeChanged(int w, int h, int oldw, int oldh) {
              if (!flag) {
                  mWidth = w;
                  getLayoutParams().width = mWidth;
                  flag = true;
              }
              super.onSizeChanged(w, h, oldw, oldh);
          }
      
          @Override
          public boolean onSingleTapUp(MotionEvent e) {
              try {//若return false將導(dǎo)致onClickItemListener無法使用,獲得位置后就可以接著用
                  Field f = BookcaseGallery.class.getSuperclass().getDeclaredField(
                          "mDownTouchPosition");
                  f.setAccessible(true);
                  int position = f.getInt(this);
                  Log.i("aaa", "mDownTouchPosition = " + position);
                  if (null != mListener && position >= 0) {
                      mListener.onItemClick(position);
                  }
              } catch (SecurityException e1) {
                  e1.printStackTrace();
              } catch (NoSuchFieldException e1) {
                  e1.printStackTrace();
              } catch (IllegalArgumentException e2) {
                  e2.printStackTrace();
              } catch (IllegalAccessException e3) {
                  e3.printStackTrace();
              }
              return false;
          }
      
          public void setOnItemClickListener(IOnItemClickListener listener) {
              mListener = listener;
          }
      
          public interface IOnItemClickListener {
              public void onItemClick(int position);
          }
      }

      工程下載:AlignLeftGallery.rar

      posted @ 2012-12-16 17:48  ok_lanyan  閱讀(2936)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 日本精品不卡一二三区| 国产日韩精品视频无码| 成人免费视频在线观看播放| 国产91小视频在线观看| 爽爽精品dvd蜜桃成熟时电影院| 国产精品综合av一区二区| 又大又粗又硬又爽黄毛少妇| 国产成人精品永久免费视频| 国产成人欧美一区二区三区| 麻豆一区二区三区精品视频| 男女xx00上下抽搐动态图| 潮喷失禁大喷水无码| 亚洲自在精品网久久一区| 日韩福利视频导航| 国产精品久久毛片| 久久一级黄色大片免费观看| 欧洲性开放老太大| 国产成人a∨激情视频厨房| 韩国美女福利视频在线观看| 亚洲精品www久久久久久| 亚洲成色在线综合网站| 无码人妻丰满熟妇区bbbbxxxx | 国产在线精品福利91香蕉| 久久国产免费直播| 成人精品日韩专区在线观看| 精品 无码 国产观看| 亚洲国产日韩a在线亚洲| 日韩有码中文字幕av| 国产一级片内射在线视频| 亚洲精品久久无码av片软件| 亚洲人成网网址在线看| 古丈县| 毛片av在线尤物一区二区| 久久人人97超碰人人澡爱香蕉| 亚洲高清日韩专区精品| 亚洲自拍偷拍激情视频| 亚洲中文字幕无码久久精品1| 久久成人国产精品免费软件| 亚洲综合国产一区二区三区| 色 亚洲 日韩 国产 综合| 久久精品免视看国产成人|