Android自訂搖杆

來源:互聯網
上載者:User

標籤:

轉載請說明出處!
kqw攻城獅
出處:個人站 | CSDN

源碼

KqwRockerDemo

喜歡就給個star,謝謝!

功能
  • 支援自適應大小
  • 支援2個方向、4個方向、8個方向的搖動監聽
  • 支援搖動角度擷取
  • 可選回調模式
  • 支援可搖動地區自訂
  • 支援搖杆自訂
  • 支援設定圖片、色值、Shape圖形
使用
<kong.qingwei.rockerlibrary.RockerView    android:id="@+id/rockerView_center"    android:layout_width="100dp"    android:layout_height="100dp"    android:layout_centerHorizontal="true"    kongqw:areaBackground="#FF333333"    kongqw:rockerBackground="#FF987654"    kongqw:rockerRadius="15dp" />
參數
參數 是否必須 描述
areaBackground 可選 可搖動地區的背景
rockerBackground 可選 搖杆的背景
rockerRadius 可選 搖杆半徑
設定回調方式
setCallBackMode(CallBackMode mode)

參數

回調方式 描述
CALL_BACK_MODE_MOVE 有移動就立刻回調
CALL_BACK_MODE_STATE_CHANGE 狀態有變化的時候回調
監聽搖動角度

返回角度的取值範圍:[0°,360°)

setOnAngleChangeListener(OnAngleChangeListener listener)
監聽搖動方向
setOnShakeListener(DirectionMode directionMode, OnShakeListener listener)

支援監聽的方向

方向 描述
DIRECTION_2_HORIZONTAL 橫向 左右兩個方向
DIRECTION_2_VERTICAL 縱向 上下兩個方向
DIRECTION_4_ROTATE_0 四個方向
DIRECTION_4_ROTATE_45 四個方向 旋轉45°
DIRECTION_8 八個方向

方向描述

方向 描述
DIRECTION_LEFT
DIRECTION_RIGHT
DIRECTION_UP
DIRECTION_DOWN
DIRECTION_UP_LEFT 左上
DIRECTION_UP_RIGHT 右上
DIRECTION_DOWN_LEFT 左下
DIRECTION_DOWN_RIGHT 右下
DIRECTION_CENTER 中間
例子
RockerView rockerViewLeft = (RockerView) findViewById(R.id.rockerView_left);if (rockerViewLeft != null) {    rockerViewLeft.setCallBackMode(RockerView.CallBackMode.CALL_BACK_MODE_STATE_CHANGE);    rockerViewLeft.setOnShakeListener(RockerView.DirectionMode.DIRECTION_8, new RockerView.OnShakeListener() {        @Override        public void onStart() {            mLogLeft.setText(null);        }        @Override        public void direction(RockerView.Direction direction) {            mLogLeft.setText("搖動方向 : " + getDirection(direction));        }        @Override        public void onFinish() {            mLogLeft.setText(null);        }    });}RockerView rockerViewRight = (RockerView) findViewById(R.id.rockerView_right);if (rockerViewRight != null) {    rockerViewRight.setOnAngleChangeListener(new RockerView.OnAngleChangeListener() {        @Override        public void onStart() {            mLogRight.setText(null);        }        @Override        public void angle(double angle) {            mLogRight.setText("搖動角度 : " + angle);        }        @Override        public void onFinish() {            mLogRight.setText(null);        }    });}

Android自訂搖杆

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.