スライドでタブを切り替えられるUI作成
※この記事はAndroid開発初心者が模索しながら開発した時に、行ったことを書いた(or 説明した)記事なので、誤り等が多々とあると思います。ですので誤り等があったら優しく指摘してくれることを願っています。
イメージ
イメージとしてはTwiiterやLINEみたいな感じ。画面に複数のタブがあり、タブタップとスワイプによってタブを切り替えるUIを作成したい。
イメージ
これを実装しようとした時に調べていたら、なんか難しそうな記事ばかり出てきて自分みたいなFragmentもわかっていない(今もなんとなくだけど)完全な初心者にとっては優しくなかったです。
よく見かけるUIだから簡単にできるのではと思い、そういえばAndroid Studioに元々用意されているActivityを全く見ていなかったなと思い見てみるとありました。
だから簡潔に言ってしまえばデフォルトで用意されているテンプレートみたいなの使えば終わりです。
見よう見まねですが説明させていただきます。
環境
Android Studio Version 2.2.3
java バージョン8
macOS Sierra バージョン10.12.2
手順
まずAndroid Studioを起動して、「Start a new Android Studio project」を選択します。
次に、プロジェクト名やプロジェクトの保存先を決めて、右下にあるNextボタンを押します。
押したら、次の画面に移ると思います。ここでAPIを13以上に設定します。そうしないと今回紹介する方法では出来ません(理由等は未調査)。APIを設定したら先ほどと同じくNextボタンをクリックします。
次は下のような画面になると思います。ここでテンプレのActivityを選択することができます。(Activityに関してはこちら)
その中から一番下にあるTabbed Activityを選択してNextを押します。
そうすると、次のような画面になります。この画面の真ん中あたりにある「Navigation Style」を変更するとタブを切り替えるUIのタイプを変更できます。
ここで変更できるタイプは3種類ありますが、今回はスライドでタブを切り替えられるUI作成なのでAction Bar Tabs (with ViewPager)だけにさせていただきます。
選択するとプロジェクトが作成されます。
作成されたプロジェクトをビルドするとこのようになると思います。
これでスワイプでタブを切り替えられるUIの作成が完了しました。
カスタマイズ(?)
スワイプでタブを切り替えられるUIを作成したとはいえ、タブの名前や数を変えたい、タブごとに対応した画面を表示したいなどあると思います。
・タブの名前を変える
MainActivity.javaの下の方にあるgetPageTitleを変更します。
ここで引数のpositionは、今見ている(表示されている?)タブの番号で、左から順に0,1,2...です。このposition変数に合わせて変更したいタブの名前を戻り値として返してあげればその名前になります。
・タブの数を変える
getPageTitleの上の方にある(であろう)getCountを変更します。
ここでタブの数を戻り値として返してあげればその数タブができます。
デフォルトは3が戻り値となっており、この場合タブは3つです。
・タブごとに対応した画面を表示する
getCountの上にある(であろう)getItemを変更します。
ここでもgetPageTitleと同じようにpositionに対応したFragmentを戻り値として渡してあげれば良いです。(Fragmentについてはこちら)
これで一通りの説明を終わらせていただきます。
最初の方にも書いた通り、詳しく分かっていないところだらけなので間違い等がございましたら指摘お願いいたします。
また疑問に思ったことなどもよろしくお願いします。
順序が逆になってしまいましたが次はAndorid Studioでプロジェクト作成する方法をまとめてみます。
mito.
今年のまとめ
※この記事はICT Advent Calender19日の記事です。
こんにちは、今日でICT12th女子の学校の成績が一気に心配になったmito(mitohato14)です。
昨日は眠人と1年生のroy-i、Shoでした。
roy-l.hatenablog.com roy-l
一年生にはこれからも頑張って欲しいです。
知っている人が多いとは思いますが、このmito、12月6日をもってICT委員会の副委員長となりました。
どうぞよろしくお願いします。
今年の出来事(覚えている限り)
Unity入門した
新しいパソコンを得た
アイデア出し
愛媛大学工学部情報工学科プログラミングコンテスト参加(大会名間違っていたらごめんなさい)
PCKプログラミングコンテスト予選参加
JOI予選参加
うちな〜ICTビジネスプラン発表会参加
取った賞や成績
愛媛大学工学部情報工学科プログラミングコンテスト:優秀賞(多分)
パソコン甲子園プログラミング部門(予選):4か5完(よく覚えていない)
もう一つの本戦:不参加なので分からず(きしもんがやったらしい)
パソコン甲子園モバイル部門:ベストデザイン賞
JOI予選:320点(Bランク)
うちな〜ICTビジネスプラン発表会:フロム沖縄理事長賞
感想(羅列)
去年と比べ、いろいろな経験や仕事をしたと思う。
パソコン甲子園本戦に行って、賞を取ったのが一番嬉しかったし、悔しかった。
自己贔屓と言われたらそこまでだけど、グランプリ取れてもおかしくなかった内容だったと思うから、グランプリ取れなくて悔しかった(もちろん、ベストデザイン賞も嬉しいです)
大会等で賞を頂いたのがこれが実質初めてなので嬉しかった。
ご飯美味しかった。
温泉素晴らしい。
秋葉原にまた行きたい(一人でも)
パソコン甲子園があるから高専祭の準備等ではほとんど仕事しないと決めていたのに気づいたら結構仕事していた
JOIで手計算で出した簡単なテストケースを間違えて、Aランクに届かなかったのが悔しい
競プロの精進
先輩たちの技術を吸収せねば
受賞の代わりに成績が落ちてゆく
来年やりたいこと
kotlin
開発
プレゼンを今年よりも練習(負けたので)
情報技術者試験の勉強
まとめ
このまま書いていってもグダる可能性しかないのでここらでまとめを
まだ意識たかそう
来年もパソコン甲子園の方に出るつもりなので次はグランプリ取りたいです。
他高専のプロ各位と会ってみたい
ぱんぷきんたるとは復活するのか
@12th、来年は自分たちが入学した頃のコーヤ先輩達の学年ですよ?
来年は今年よりも仕事が増える(確定)
また、メディア上位陣と並べるように学校の勉強も頑張る
体調大事
明日はICT委員会スポンサーの某社の某さんです。
mito.
Android開発初心者が開発して詰まった話
JOI予選まであと一週間しかないけど、競プロのやる気が起きないのでJOI終わった後に書こうと思っていた記事を書く
(この記事は開発初心者がAndroid開発をした時に、詰まったところやわからなかったことが主ですので注意ください。間違ってるところとかあれば指摘お願いしたいです。)
PCK2016モバイル部門に参加時にAndroid開発(実質初めて)をしました。
開発自体は去年、Unityやらvisualstudioでやったことあったんですが、ほとんど本読みながら「なるほどね〜」って感じでやってました。
・開発環境
Android Studio ver 2.X
java ver8
・詰まったところ
ライフサイクルって何
ライフサイクルがわからないからどこから呼ばれるのかがわからない(main関数みたいなのがあると思ってた)
ActivityとFragment
サーバとの通信ってどうやるの
UI操作しようとしたらアプリが落ちるんだけど
スワイプで画面遷移って難しすぎでは
ソフトキーボード消えてくれない
トークアプリを作ってやり方を記事にしている人って案外少ない(検索力不足の可能性)
テンプレートの存在(というより種類か)
これらの原因とか理由、やり方は理解しました(完全になんて言えない)
(Qiita、stackoverflow、google先生、Estimote communityの方、ict委員会の先輩方に圧倒的感謝)
・今回開発してみて思ったこと
やってみるのが早いは正しい(ただし、一応ある程度知ってないと死ぬ)
学校推奨パソコンのままでやってたらアプリ動かせるまでできてない気がする
英語は大切
進捗管理も大切
バックアップも大切
体調管理も大切
やる気が起きない時はやっても特に進捗生えない
・まとめ
特にAndroid開発はほぼ初めてで分からないことだらけだったけど調べながらやったらなんとかなる
聞くの大切
英語大切
やってみると分かる(いろいろと)
開発はつらい
開発は楽しい
開発は楽しい
楽しい
開発はつらい時が多いけど楽しい(一応言っておくとM気質はありません)
次はkotlinで開発やってみたいなと思ってます。
mito.
---------------------
同日、17:10追記
解決法や今回の開発で使った技術については後日にちゃんと書きます
ストーリーセラーを読んで
春休みで時間がある(登校日よりは)ので沢山本を読みたいなと思ってます。
その一冊目が有川浩さんの「ストーリーセラー」でした。
この本のあらすじ
「小説家と、彼女を支える夫を襲ったあまりにも過酷な運命。極限の決断を求められた彼女は、今まで最高の読者でいてくれた夫のために、物語を紡ぎ続けた―。極上のラブ・ストーリー。「Story Seller」に発表された「Side:A」に、単行本のために書き下ろされた「Side:B」を加えた完全版。」 GoogleBooksより引用
感想
泣ける。本当にね、ずるい。
こんな良い作品は久しぶりに読んだ。
この夫婦の仲が本当に良くて、すごい羨ましい。
こんなにも相手のためになれるって良い。
この記事を読んでもどんな作品なのか分かりづらいので…
ぜひ読んでください!
なんなら貸します!
やはり有川浩の作品は素晴らしいです
mito
学期末テストが終わった…
今日、学期末テストが終わりましたね。皆さまお疲れ様でした。
単位はどうですか? 自分は大丈夫そうです。
テストが終わってすぐのこの時点でいくつか間違ったところがあるので残念です…
速報で見たのですが、数Ⅰでは満点を取ることが出来ました。でも一番勉強してたであろう数Ⅱがランキング外だったのが悔しいです。
他の教科もそれなりにできました。
今回もテストの前にテスト対策の勉強会(?)を開催しました。
まあメンバーは、ほんとんど変わらずです。
教えたのは物理と数Ⅱが主でした。(とういうかベクトル?)結構遅くまでお疲れ様でした。最近はもう一人(daim)が教える頻度がとても高くなって良いです。
勉強会の時に、教え方良くなってるって言われて嬉しかったです。
人に教えてると、どこをどういう風に伝えたら伝わりやすいかってのがわかってくるんでしょうかね。知りませんけど(笑)
もしそうならこれからのためにも積極的に教えていきたいですね。
教えてて思ったのがみんな同じようなところや問題が分からないんだなってことです。なので次教える機会があればみんなに一度で教えられるようにしたいです。
来年度以降もこの勉強会はきっと続けるべきでしょう。(需要がありそうなので…)
テストが終わったので、この勉強会もしばらくお休みでしょう。
でも、聞きたいところがあるなら言ってください。(再試の対策も付き合いますよ)出来るだけ応えさせていただきます。twitterでもLINEでも、直接でも構いません。
最近は図書館に結構いると思います。(もし寝てたりしても起こして構いません。むしろ起こしてください)
テストが終わったので今までできなかった趣味の勉強がやっと出来ます。春休みはほとんどそれで潰れるでしょう。春休みも夏みたいにどこか行きたいです。オススメの場所等があったら教えてください。
ではこの辺でさよなら
mito
PC(ほぼ)初心者がPCをwindows10にアップグレードした話
今日、自分のノートPCをwindows10にアップグレードしました。
家にあるデスクトップPCはすでにwin10にしていたのですがノートPCでやるのは初めてでした。(そもそもアップグレード作業自体が二回目)
一時間ぐらいで作業は完了したと思います。
なぜ今したのかについては特に理由はありません
感想
仮想デスクトップ最高
pdfリーダーがウインドウで出てくれる
ストレージ管理が楽にできそう
帰ってきたスタートメニュー
謎のcortana
動作が重い(アップグレードしたばかりだからかな)
なかなか隠れてくれないタスクバー
まだ自分はPC初心者なのでうまく使いこなせるか何が良くなっているのかなどは詳しくはわからないので使って慣れていこうと思います。まだ知らないコマンドが多いのでそれの勉強もしたいです。
アップグレードした一番の理由は仮想デスクトップの存在です。
良いですよ。
(PCを使いこなしたい)
mito
サイエンスリーダー育成講座に参加した話
子供科学人材育成事業(中学生及び高校生プロジェクト) サイエンス・リーダー育成講座/沖縄県
1/9~1/11の三連休にサイエンスリーダー育成講座というプロジェクト(?)に参加してきました。コースは脳の情報処理でした。
どんなことを勉強したのかとか気になる人もいると思いますが、詳しいことは同じく参加したしゅりのブログを見てください。(とてもわかりやすくまとめてくれると思います)
なんでメディア生が参加してるんだよとかやっぱりmitoはメディア生じゃないとか言いたい人もいるかもしれませんが、やめてください(笑)
参加しようと思ったのはメディアのある先生から話を聞いて興味を持ったのと、まだ比較的時間のある一年生の内から視野を広げていきたいと思ったのが主です。
このプロジェクトは二回に分けて行われたのですが、自分としゅりは手続等のミスで一回目は参加できませんでした。(残念)
応募するころ(夏休み当たり)はどうせ暇してるだろうから申し込みしておこうと思っていたんですが行く前になると意外にも課題が多くて行きたくないなと思いました…。(課題が辛そうだったので合宿中にもプレゼン書いていました)
でも参加してみてとても良かったです。視野を広げることもできたと思いますし、何よりとても楽しかったです。途中からの参加だったので、周りと仲良くできるか心配でしたが、一日目の夕方ごろには班長(高専生)に違和感ないって言っていただきました。それに講師の先生もとても良い人でした。
勉強でも驚くこと多かったんですが、このプロジェクトに高専関係者が多く関わっていたことも驚きでした。
最終日の全体発表が終わると修了書と記念品(ピンバッチ)ももらいました。
まとめ
今回参加してみて、本当に良かったです。OISTの先生から教えてもらうなどのとても貴重な体験をさせてもらえたと思います。それに他校の(それも上級生)の友達も出来ましたし、久しぶりに元同中の子と会うことも出来ました。シュークリームおいしかったです。今回学んだことをもっと深めてプログラミングなどの他分野にも応用出来たら良いなと思います。
書き足りないですが全部書くと大変なことになるのでこれぐらいで失礼します。
(フグの刺身食べたかった)
mito