忍者ブログ

とある社内SEの備忘録 !!

主にRPA、Androidアプリ開発について投稿しています。メモ書きです。

ドラッグ可能なフラグメントを作る

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ドラッグ可能なフラグメントを作る

外側のFrameLayoutは画面全体のレイアウト
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android" >
・・・省略・・・
    <FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_gravity="center_vertical|right"
android:id="@+id/keyContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</FrameLayout>
</FrameLayout>
</FrameLayout>
2つ目のFrameLayoutは、ドラッグ可能な範囲。
3つ目はFragmentのコンテナとして使用。

ListViewのOnItemClickListenerにて、下記メソッド呼び出して、フラグメントを表示する。
public static void setTenkey(View v){
if (bundle == null) {
activity.getSupportFragmentManager().beginTransaction()
.add(R.id.keyContainer, new TenkeyFragment())
.commit();
}

ドラッグについては、コチラの記事を参考にさせていただいた。
DragViewListenerクラスを真似て作ったのち、アクティビティーのOnCreateでOnTouchListenerとしてセット。
FrameLayout fl = findViewById(R.id.keyContainer);
DragViewListener dvListener = new DragViewListener(fl);
fl.setOnTouchListener(dvListener);

これで画面いっぱいにドラッグ可能なフラグメントが作れた。

PR

コメント

プロフィール

HN:
Satoshin
性別:
男性
職業:
開拓エンジニア
趣味:
ダーツ、麻雀、カラオケ、ジョギング
自己紹介:
横浜在住の30代♂

某企業の情報システム部門に所属。
⇒転職活動中

業務効率化を推進しつつ自社用Androidアプリを開発している。
言語:Java、VB.NET、VBA、ASP.NET、C#
興味:Kotlin、Python、AWS、UiPath

横浜圏の友人皆無・・(´;ω;`)
RPA、ダーツ、麻雀、飲み仲間募集中w

麻雀格闘倶楽部はココに出没中

AbemaTVでM.LEAGUE鑑賞中!!

P R