QuickActionLib

仮想ホストの作成ができないみたいなので、管理な方が姿を現すまでの間で @yanzm さんのソレを読んでみることに。

clone

$ git clone https://github.com/yanzm/QuickActionLib
Initialized empty Git repository in /home/rms/Documents/OSX/workspace/QuickActionLib/.git/
remote: Counting objects: 149, done.
remote: Compressing objects: 100% (99/99), done.
remote: Total 149 (delta 30), reused 149 (delta 30)
Receiving objects: 100% (149/149), 142.77 KiB | 106 KiB/s, done.
Resolving deltas: 100% (30/30), done.
$

で、ソースファイル的には以下らしい。

$ ls src/yanzm/products/quickaction/lib/
ActionItem.java PopupWindowForQuickAction.java QuickAction.java
$

下記エントリを見ながら、なのですが

ライブラリプロジェクトってのがあるんですね。

クラス

class で grep してみます。

$ grep class *.java
ActionItem.java:public class ActionItem {
PopupWindowForQuickAction.java:public class PopupWindowForQuickAction {
QuickAction.java:public class QuickAction extends PopupWindowForQuickAction {
$

ActionItem は選択する Item っぽい。属性の getter/setter が定義されてるカンジ。

public class ActionItem {
        private Drawable icon;
        private String title;
        private OnClickListener listener;

で、QuickAction と PopupWindowForQuickAction はどちらを先に見た方が良いのだろうか、と言いつつ継承元で短いので Popup から先に確認。
とりあえず定義されてるメソドを以下に列挙してみましょう。

  • public PopupWindowForQuickAction(View anchor)
  • protected void onCreate() {}
  • protected void onShow() {}
  • protected void preShow()
  • public void setBackgroundDrawable(Drawable background)
  • public void setContentView(View root)
  • public void setContentView(int layoutResID)
  • public void setOnDismissListener(PopupWindow.OnDismissListener listener)
  • public void showDropDown()
  • public void showDropDown(int xOffset, int yOffset)
  • public void showLikeQuickAction()
  • public void showLikeQuickAction(int xOffset, int yOffset)
  • public void dismiss()

むむ、これ中身をきちんと見たら凄く勉強になるような気がしてきたな。連休もくもくネタかな。ライブラリ化およびソースの公開に感謝します。

がしかし

ネタはスデに満載状態なので、連休空けの現実トウヒ材料になることはほぼ間違いないと思われます。