- 1 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 09:25:37.90 ID:+qBipumoM.net]
- !extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512 ようこそFlutter野郎どもよ!!! 軽い開発環境でモバイルアプリ開発ができるなんて最高じゃねえか AndroidもiOSも両方行ける、まさに漢のためのツールだな https://flutter.dev/ 前スレ Flutterやろうよ!!! 3 https://mevius.5ch.net/test/read.cgi/tech/1628421492/ VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
- 231 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 00:20:24.17 ID:TNWK2vc80.net]
- >>225
お前何しきてんのここ??情報集めじゃないの?? 長所、短所含めて情報だろ 俺の話じゃないけど>>221が具体的な事っていうから 俺も具体的に>>222に書けば >>224,225のコイツは冷やかししか返ってこねぇw お前の発言全部冷やかしなんだけど、冷やかししか出来ないなら喧嘩になるから消えろよ
- 232 名前:デフォルトの名無しさん [2022/07/09(土) 00:31:16.75 ID:+iEZX8QHa.net]
- 具体的なこと出てこない、というのは>>217に対してでしょ?
あなた217と同じ人? なんでわざわざ5chで情報集めすんねん笑 遠回りすぎるやろ。
- 233 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 00:33:59.06 ID:TNWK2vc80.net]
- >>229
「俺の話じゃないが」って書いてあるの見えない??
- 234 名前:デフォルトの名無しさん [2022/07/09(土) 01:00:58.01 ID:+iEZX8QHa.net]
- よく見たら「おれの話じゃないけど」と書いてるけど、それだと今話してたのと全く別の人が別の話でいきなり絡んで来たことになる。
その絡み方普通無いわ笑 冷やかしというか今flutter作ってるのGoogleの人だけじゃなくて利用者の協力もあるんで結局そういう話になる。 あなたみたいな人が自分で改善して貢献した集積が今のflutterなわけで。 他力本願でやるなら待つしかないのでは? 待った結果改善があるのか知りませんけども。
- 235 名前:デフォルトの名無しさん [2022/07/09(土) 01:08:42.92 ID:+iEZX8QHa.net]
- パフォーマンスの話とapiの使い勝手の話は別の話、という意味ね。
- 236 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 01:54:25.88 ID:TNWK2vc80.net]
- >>231
つか、君は>>225の本人なんだよな?? 句点とか笑とか同じだし >よく見たら「おれの話じゃないけど」と書いてるけど、それだと今話してたのと全>く別の人が別の話でいきなり絡んで来たことになる。 何言ってんの?? 向こうから先に冷やかしてきたから言い返しただけ >冷やかしというか今flutter作ってるのGoogleの人だけじゃなくて利用者の協力も それは当たり前の話だろ 当たり前の話して冷やかしてんだろ 知ってる癖に知らないふりをするなよww
- 237 名前:デフォルトの名無しさん [2022/07/09(土) 02:02:37.60 ID:+iEZX8QHa.net]
- >>233
いや、具体的にどこが冷やかしなんだよ? はっきり示せや。
- 238 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 02:05:48.77 ID:TNWK2vc80.net]
- >>234
先に>>225か本人か答えろよ
- 239 名前:デフォルトの名無しさん [2022/07/09(土) 02:06:22.72 ID:+iEZX8QHa.net]
- >>233
知ってる癖に知らないふりをするなよww 225本人だが、知ってるふりて何だよ?誰が何を知らないふりしてんだ?
- 240 名前:デフォルトの名無しさん [2022/07/09(土) 02:10:27.29 ID:+iEZX8QHa.net]
- 知ってるふり→知らないふり。
当たり前の話が冷やかし? ちょっと何言ってるのかわかんない笑
- 241 名前:デフォルトの名無しさん [2022/07/09(土) 02:17:18.79 ID:+iEZX8QHa.net]
- >>235
いや、実際おまえがflutter使うかどうかなんて義務でも何でもないのに加えて、自分でAndroidが神viewと言ってたんだろ? 「神view使えば良いのでは?」のどこが冷やかしなの?何なんだこいつは。
- 242 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 02:17:25.39 ID:TNWK2vc80.net]
- じゃあ、答えるけど
答えはもう先に書いたけど君が理解できないだけなんだよ 理解できないってより本人なんだから知らないふりかww >当たり前の話して冷やかしてるんだよ じゃあ、お前誰かに「フレームワークのーーがバグってるんだよねー」とか言われて、 即答で「自分で治すか、他の使えば」って当たり前の極論を リアルで言ってみろよwwwwww 普通はなんだこいつって思われるからwww
- 243 名前:デフォルトの名無しさん [2022/07/09(土) 02:25:51.80 ID:+iEZX8QHa.net]
- >>239
実際バグってるなら同感するけど、悪いけどおまえが示した範囲に明確なバグなんか無いから笑 おまえの不勉強なんか知ったこっちゃないし、気に入らないなら他のもの使う以外何があんだよ? リアルでおまえみたいレベルと絡みたくないわ笑
- 244 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 02:26:44.98 ID:TNWK2vc80.net]
- これが普通と思ってるのかよ
お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 245 名前:デフォルトの名無しさん [2022/07/09(土) 02:39:17.11 ID:cDalp+idd.net]
- >>241
いや、リアルでおまえみたいに文句ばっか言って何のメリットがあんだよガキが笑 だから普通じゃないならAndroid使えよ。 当たり前で冷やかしとか言ったら侮辱されちゃうよボク?笑
- 246 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 02:46:38.80 ID:TNWK2vc80.net]
- >>242
ほら、リアルで言ってみろよwwwwwwwww ガキって>>218の最初から最後まで冷やかし目的のお前の口から出るって どんな冗談よwwww ほら、リアルで言ってみろよwwwwwwwww ほら、リアルで言ってみろよwwwwwwwww
- 247 名前:デフォルトの名無しさん [2022/07/09(土) 02:51:43.96 ID:cDalp+idd.net]
- >>243
マジ何がしたいの? Android使えばいいじゃん。 flutter面倒臭いんだろ? リアルで何を言うの? 頭大丈夫かまじで?
- 248 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 02:54:55.84 ID:TNWK2vc80.net]
- >>244
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 249 名前:デフォルトの名無しさん [2022/07/09(土) 03:01:04.70 ID:+iEZX8QHa.net]
- >>245
あなたが幸せそうで私も幸せです。
- 250 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:02:19.90 ID:TNWK2vc80.net]
- >>246
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 251 名前:デフォルトの名無しさん [2022/07/09(土) 03:04:37.28 ID:+iEZX8QHa.net]
- >>247
おめでとうございます。
- 252 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:05:33.92 ID:TNWK2vc80.net]
- >>248
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 253 名前:デフォルトの名無しさん [2022/07/09(土) 03:07:01.92 ID:+iEZX8QHa.net]
- >>249
おめでとうございます。
- 254 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:07:57.39 ID:TNWK2vc80.net]
- >>250
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 255 名前:デフォルトの名無しさん [2022/07/09(土) 03:13:02.64 ID:+iEZX8QHa.net]
- >>251
それは良かったです。 リアルで周りにおまえみたいなの居ないって笑
- 256 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:15:20.17 ID:TNWK2vc80.net]
- >>252
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 257 名前:デフォルトの名無しさん [2022/07/09(土) 03:19:16.41 ID:+iEZX8QHa.net]
- >>253
誰に言うんだよ笑 コピペしかできないんだからガキよばわりされるだろ。
- 258 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:21:18.13 ID:TNWK2vc80.net]
- >>254
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 259 名前:デフォルトの名無しさん [2022/07/09(土) 03:23:21.27 ID:+iEZX8QHa.net]
- 暇人さんコピペよりAndroid頑張ろうね笑
イキって冷やかしよばわり要らないから、さようなら。
- 260 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:27:35.77 ID:TNWK2vc80.net]
- >>256
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 261 名前:デフォルトの名無しさん [2022/07/09(土) 03:33:51.61 ID:+iEZX8QHa.net]
- >>257
まあflutterのあの程度を普通じゃないって言ってるんだから、Android使ったところで便利なスクロールくらいしか実装できないのは目に見えてるけどな。
- 262 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:36:58.12 ID:TNWK2vc80.net]
- >>258
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 263 名前:デフォルトの名無しさん [2022/07/09(土) 03:42:31.73 ID:+iEZX8QHa.net]
- >>259
それおもしろいか? コピペじゃなくてAndroidやらないと。 神viewなら使えるやろ?
- 264 名前:デフォルトの名無しさん [2022/07/09(土) 03:43:22.55 ID:+iEZX8QHa.net]
- >>260
神viewあって本当よかったよね笑 ボクでも使えるもんね。
- 265 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:43:48.32 ID:TNWK2vc80.net]
- >>260
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 266 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:44:59.51 ID:TNWK2vc80.net]
- >>261
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 267 名前:デフォルトの名無しさん [2022/07/09(土) 03:47:02.98 ID:+iEZX8QHa.net]
- >>263
2回コピペ投稿したよね。 ちゃんと同じ回数できたよね笑 神viewマジウケるよな笑 スクロールだけで勝負できるか?
- 268 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:47:46.79 ID:TNWK2vc80.net]
- >>264
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 269 名前:デフォルトの名無しさん [2022/07/09(土) 03:49:23.35 ID:+iEZX8QHa.net]
- >>264
結局どのフレームワーク使おうが難しいしようとすれば難しくなるわけで。 コピペじゃあかんのやで?
- 270 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:50:27.19 ID:TNWK2vc80.net]
- >>266
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 271 名前:デフォルトの名無しさん [2022/07/09(土) 03:52:25.42 ID:+iEZX8QHa.net]
- >>266
まあコピペと神viewだけでどこまでいけるか、やってみたら良いやないか? 時間はあるんだから笑
- 272 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:53:27.98 ID:TNWK2vc80.net]
- >>268
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 273 名前:デフォルトの名無しさん [2022/07/09(土) 03:55:45.64 ID:+iEZX8QHa.net]
- >>269
まあ一人でやってください。 Androidスレでね笑
- 274 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 03:57:04.92 ID:TNWK2vc80.net]
- >>270
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 275 名前:デフォルトの名無しさん [2022/07/09(土) 04:15:07.54 ID:+iEZX8QHa.net]
- 結局キレられる理由も完全に意味不明で途中から話にならなかった笑
- 276 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 04:17:08.44 ID:TNWK2vc80.net]
- >>272
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 277 名前:デフォルトの名無しさん [2022/07/09(土) 04:26:56.15 ID:+iEZX8QHa.net]
- >>273
一晩かけてflutterのスクロールまわりが手に負えない自分のレベルを自己申
- 278 名前:告し続けるてすげーよな笑
それこそリアルで誰かに聞いてもらえよ笑 [] - [ここ壊れてます]
- 279 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 04:29:06.81 ID:TNWK2vc80.net]
- >>274
これが普通と思ってるのかよ お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 280 名前:デフォルトの名無しさん (アウアウウー Sa09-DGD5) mailto:sage [2022/07/09(土) 05:59:43 ID:phfbURN3a.net]
- こいつら何してんの…
- 281 名前:デフォルトの名無しさん (ワッチョイ a57d-jMZS) mailto:sage [2022/07/09(土) 08:09:17 ID:fLTYygoN0.net]
- 保守だろ
- 282 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 08:45:31.39 ID:FO2FM1010.net]
- ホンモノ来てんじゃん草
- 283 名前:デフォルトの名無しさん [2022/07/09(土) 10:54:36.32 ID:cDalp+idd.net]
- スクロールとはスライバーのこと?
だとしてもそこまで致命的なことか? スクロールがあれだから他のフレームワークの方が良いですね、というのは聞いたことない。 os依存の機能で結局ネイティブコード書かないといけないから、みたいなのはあるけど。
- 284 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 13:09:48.07 ID:SMAdLLkz0.net]
- スライバーって・・・・
スリバーな
- 285 名前:デフォルトの名無しさん [2022/07/09(土) 13:19:06.57 ID:cDalp+idd.net]
- 発音の指摘痛み入ります。
- 286 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 20:54:08.51 ID:TsAgVdQO0.net]
- なんだ
スライバーじゃないのか
- 287 名前:デフォルトの名無しさん mailto:sage [2022/07/09(土) 21:06:17.63 ID:BwqUQNjHp.net]
- どっちも使われてるよ
JISはスライバーだからこっちのほうが主流かな
- 288 名前:デフォルトの名無しさん [2022/07/10(日) 09:45:22.91 ID:5dNamPela.net]
- 当たり前のこと言われて逆ギレてマジ意味わからない
情報集めって言いながら結局コピペ連投 目障りだわーww
- 289 名前:デフォルトの名無しさん mailto:sage [2022/07/10(日) 11:54:26.21 ID:Ut0Ymv090.net]
- これが普通と思ってるのかよ
お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 290 名前:デフォルトの名無しさん [2022/07/10(日) 17:24:11.29 ID:a4ePALazd.net]
- flutterスレに自動投稿ロボットを誕生させてしまい誠に申し訳ございませんでした。
- 291 名前:デフォルトの名無しさん [2022/07/10(日) 17:32:35.01 ID:1hLKG9fCM.net]
- 良かった。病気の子供はいないんだ。
- 292 名前:デフォルトの名無しさん mailto:sage [2022/07/10(日) 18:21:36.81 ID:Ut0Ymv090.net]
- これが普通と思ってるのかよ
お前くそウケるわwwwww リアルで言ってみろよwwwwwwwwww
- 293 名前:デフォルトの名無しさん mailto:sage [2022/07/10(日) 19:40:28.11 ID:FmV9wIuC0.net]
- providerを使ったMVVM開発に挑戦しています。
画面が複数ある場合、簡単に作るとStatelessWidgetのviewとChangeNotifierのviewModelが画面数だけ出来る事になるかと思います。 その場合、どのviewのbuildメソッドにもChangeNotifierProvider()がある事になってしまうのですが、それはそういう物ですか? 個人的にbuildの中はなるべく階層を浅くしたほうがよいと思っていて そこにChangeNotifierProvider()というメソッドを1階層入れる事に抵抗があるのですが それは気にし過ぎだったりしますでしょうか
- 294 名前:デフォルトの名無しさん mailto:sage [2022/07/10(日) 19:55:11.35 ID:UkuUwsAl0.net]
- >>289
はい、何も間違っていません。flutterのStatefulは基本的に階層が深くなることを許容する必要があります。 rebuild範囲を局所化することはその都度1階層深くなることとほぼ同義と理解してもらって構いません。 もちろん同じコンテキストでrebuildされる同じWidgetは共通化するという前提です。
- 295 名前:デフォルトの名無しさん mailto:sage [2022/07/10(日) 21:18:49.10 ID:FmV9wIuC0.net]
- >>290
ありがとうございます。 認識を改めて精進します
- 296 名前:デフォルトの名無しさん mailto:sage [2022/07/11(月) 05:41:09.79 ID:mP4iOavH0.net]
- > ChangeNotifierProvider()というメソッド
???
- 297 名前:デフォルトの名無しさん [2022/07/11(月) 08:30:27.70 ID:CgnuFyDWM.net]
- パソコンゲーが趣味で理系の山上徹也がflutterやってればなー
- 298 名前:デフォルトの名無しさん [2022/07/11(月) 10:33:31.81 ID:1W23UOpta.net]
- だれよ
- 299 名前:デフォルトの名無しさん mailto:sage [2022/07/11(月) 12:38:02.80 ID:O8zc2C880.net]
- 今一番話題の人
- 300 名前:デフォルトの名無しさん mailto:sage [2022/07/11(月) 16:16:25.65 ID:auBqUmtR0.net]
- そうなんか
- 301 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 17:12:23.66 ID:dYGJPrNW0.net]
- ほ
- 302 名前:デフォルトの名無しさん [2022/07/26(火) 22:42:06.13 ID:dYGJPrNW0.net]
- おいおい
画像貼り付けようとしたら何か新しいタブで色々メッセージ書いてあって分からん。 ちゃんと存在してるURLやし。誰か助けて
- 303 名前:初心者です [2022/07/26(火) 23:00:45.36 ID:0QnELkry0.net]
- 超初心者ですすみません、、知恵袋のようなアプリを作りたいのですが、アドバイスいただけますでしょうか?各質問がホームに並んでいて、質問をクリックすると回答を書けるもしくは見れるようにしたいです。下記リンクにしたがい質問を並べた階層(ホームに該当)がつくれるかとおもいますが、質問の一つをクリックすると更にもう1段階、画面遷移して質問に対する回答が並ぶような階層を作る場合、どういった処理をすればよいでしょうか?方針や参考になる検索キーワードなどありましたら、ご教示いただけますと幸いです。
https://rightcode.co.jp/blog/information-technology/flutter-firebase-bulletin-board-app-make
- 304 名前:デフォルトの名無しさん [2022/07/26(火) 23:06:37.46 ID:rlMnEWBsM.net]
- flutter大学入れ
- 305 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 23:12:27.63 ID:aNuqzwoa0.net]
- もうちょっとピンポイントで質問してくれないとな..
- 306 名前:デフォルトの名無しさん [2022/07/27(水) 01:01:46.72 ID:SqTl9Tcbd.net]
- 階層て何すか?
stackみたいなこと? ナビゲーションstack、みたいな? そういうオレオレ用語はちょっと、、、 ねー。
- 307 名前:デフォルトの名無しさん [2022/07/27(水) 11:16:46.42 ID:elZrgoJKa.net]
- オレオレ用語で仕様描くのは良くないぬ
- 308 名前:デフォルトの名無しさん mailto:sage [2022/07/28(木) 01:26:46.49 ID:kZAcDvsr0.net]
- なんもわかってないまま質問してるね
そんなんじゃ回答もらってもわかんないでしょ ほとんど作ってもらってコピペしようとしてる? 超初心者の自覚があるなら超初心者向けの情報みて勉強しなよ Flutterはそういうの公式で充実してるからさ
- 309 名前:デフォルトの名無しさん mailto:sage [2022/07/28(木) 02:40:25.79 ID:ZuspXXEK0.net]
- 彼は答えが欲しいのではない
アプリが欲しいのさ
- 310 名前:デフォルトの名無しさん [2022/07/28(木) 08:43:02.32 ID:dd+GJcbrM.net]
- ググレカス
- 311 名前:デフォルトの名無しさん [2022/07/28(木) 18:45:25.40 ID:2Rw/B+fk0.net]
- 質問
XamarinでDJアプリ作ろうとしたんだけどレコードを動かしたときの動作でタップしている位置を取得することで角度によって再生逆再生みたいにしたいんだけどFlutterなら楽勝なの? ザマリンだと結局レンダラーって言ってiOSとAndroid個別にプログラム書かないといけないみたい https://i.imgur.com/BM04VVW.png
- 312 名前:デフォルトの名無しさん mailto:sage [2022/07/28(木) 19:06:26.95 ID:AOM66IHO0.net]
- >>307
Xamarinでレンダラ使って描画するレベルならFlutterなら共通化できるよ。 Flutterでプラグイン使わず共通化できないのは各種ペリフェラルとバックグラウンド動作ぐらい。
- 313 名前:デフォルトの名無しさん [2022/07/28(木) 19:07:41.33 ID:Ee0GPQHDr.net]
- >>308
なるほど… ならFlutter一回試してみようかな サンクス
- 314 名前:デフォルトの名無しさん mailto:sage [2022/07/28(木) 19:52:29.61 ID:G5sGRUf40.net]
- >>309
https://i.imgur.com/YDzUOmh.jpg
- 315 名前:デフォルトの名無しさん (ワッチョイ a9ad-Y/M3) mailto:sage [2022/07/28(木) 21:35:33 ID:Pq2AIR8P0.net]
- >>310
グロ
- 316 名前:デフォルトの名無しさん mailto:sage [2022/08/02(火) 10:06:04.35 ID:HdRf0/qx0.net]
- buildメソッド内で、子要素の高さをpx単位で知る方法ってありませんか。
例えば、child要素が100px以上なら折りたたみのアコーディオンを出して、未満ならそのまま表示する。みたいな事をしたいです 「ボタンを押した時に高さを取得する」なら、対象のwidgetにGlobalKeyを設定してcontextからどうにでも取れるのですが 画面表示時の最初のbuildメソッドの中で取得する事がしたいです。 WidgetsBinding.instance.addPostFrameCallback を使ってbuildの1フレーム後に高さを取得する事を試したのですが それでもbuildメソッドの後なので一瞬見えてしまいます 特に高さが変わるとカクつきが発生するから目立ってしまう・・・
- 317 名前:デフォルトの名無しさん (ワッチョイ 6501-JYI4) mailto:sage [2022/08/02(火) 10:24:04 ID:8jAs6gjU0.net]
- >>312
それは子要素がbuildされる前にその子要素自体の高さを予め知りたいってこと?
- 318 名前:デフォルトの名無しさん (ワッチョイ 4abd-G1eK) mailto:sage [2022/08/02(火) 13:43:38 ID:HdRf0/qx0.net]
- >>313
はい、子要素の高さが一定数より大きい時は拡縮ボタンを表示。それ未満の場合はそのまま表示。 という事をしようとしています。
- 319 名前:デフォルトの名無しさん mailto:sage [2022/08/02(火) 14:23:10.77 ID:TouO0DTh0.net]
- 俺も同じことしてるけど、ただ、一瞬見えないように何かのWidgetでくるんで高さ求めてる
まぁカクつくのは別の問題だが
- 320 名前:デフォルトの名無しさん [2022/08/02(火) 14:34:26.77 ID:TouO0DTh0.net]
- Visiblity,Opacity,Offstageとかそこら辺のWidgetだっけ?
- 321 名前:デフォルトの名無しさん mailto:sage [2022/08/02(火) 14:53:26.36 ID:mx7A804Ta.net]
- >>314
buildが終わらないとサイズが分からないのでbuild前にサイズを知ることはできません。 >>315が言うように一回目のbuild時にはStackか何かで前面を覆って隠しておき、サイズ確定後の二回目のbuild時に覆うのをやめるしかないと思います。
- 322 名前:デフォルトの名無しさん mailto:sage [2022/08/03(水) 10:55:34.70 ID:tx6+aymb0.net]
- RenderBoxを作りなさい
- 323 名前:デフォルトの名無しさん mailto:sage [2022/08/08(月) 00:34:12.55 ID:sRQZ4vBgd.net]
- Providerを使ったMVVMモデルの勉強をしているのですが、メソッドを実行するにはどうしたら良いでしょうか。
説明用のコードを作成しました。flutter 3.x 、provider 6.0.3 で動作確認をしています 1ファイルに詰め込みましたので、コピペで動きます。 https://pastebin.com/iLLWegxz ボタン1を押すと画面上部の「VMから受信した値 x」の数字部分がインクリメントします。 ボタン2と3は押すとリストが上下にスクロールします。 https://i.imgur.com/5t03yFI.png ボタン1を押した時はViewmodelの中身を書き換えてnotifyListeners()し、表示する側はConsumerで囲って中身を表示する というもので、ここは問題ありません。 ボタン2と3は押した後S2A.scrollRequest メソッドを呼んでほしいのですが、それをMVVM的に正しくやる方法を教えて頂けますでしょうか。 現状はViewModelの中にvoid Function() anyFunction;の関数を定義して 使う側でanyFunction=(){xxx;} と関数をセットしているのですが、色々な記事を見てもこんな事している例が無く間違っている気がしてなりません。 https://i.imgur.com/vGZFuYy.png https://i.imgur.com/4YghOu3.png アプリのグローバル変数の領域にGlobalKeyを設置すれば、Globalkey経由でcontextを取得出来るのですが、 グローバル変数に値を設置するのはアンチパターンだと思いますし、MVVMの勉強なので今回は避けたいです。
- 324 名前:デフォルトの名無しさん [2022/08/08(月) 23:03:15.94 ID:7uJO41n7a.net]
- これでとりあえず動きました。それっぽいですかね?
ただMVVM的に正しくやる方法かどうかは、正しい方法のはっきりした定義が無いと何とも言いようがないような気がします。 そちらのコードでも別におかしいとも思わないですし、結局実験的なコードなので、それなら本人が良いと思えば何でも良いような。 結局仕様・方針がはっきり決まって初めて、「それに対してより効率的で無駄が無いアーキテクチャかどうか」という話がスタートするような気がします。 import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; Future<void> main() async { runApp(const AppMain()); } class AppMain extends StatelessWidget { const AppMain({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, home: S1(), ); } }
- 325 名前:デフォルトの名無しさん [2022/08/08(月) 23:04:42.12 ID:7uJO41n7a.net]
- class S1 extends StatelessWidget {
S1({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), body: ChangeNotifierProvider( create: (context) => ViewModelTest(), builder: (context, vm) => Column( children: [ Expanded(child: S2A()), S2B(), ], ), ), ); } }
- 326 名前:デフォルトの名無しさん [2022/08/08(月) 23:06:31.02 ID:7uJO41n7a.net]
- class S2A extends StatelessWidget {
S2A({Key? key,}) : super(key: key); @override Widget build(BuildContext context) { /// ここでメソッドをviewModelに入れている事に強い違和感がある。 final ViewModelTest vm = context.read(); final keyList = vm.keyList; return Column( children: [ Consumer<ViewModelTest>( builder: (context, vm, child) { return Container( padding: const EdgeInsets.all(10), decoration: BoxDecoration( border: Border.all(color: Colors.grey, width: 1), ), child: Text("VMから受信した値=${vm.counter}"), ); }, ),
- 327 名前:デフォルトの名無しさん [2022/08/08(月) 23:07:04.38 ID:7uJO41n7a.net]
- Expanded(
child: SingleChildScrollView( child: Column( children: List.generate(100, (index) { return Container( key: keyList[index], width: double.infinity, padding: const EdgeInsets.all(10), decoration: BoxDecoration( border: Border.all(color: Colors.grey, width: 1), ), child: Text("index ${index + 100}"), ); }), ), ), ), ], ); } }
- 328 名前:デフォルトの名無しさん [2022/08/08(月) 23:07:50.16 ID:7uJO41n7a.net]
- class S2B extends StatelessWidget {
S2B({Key? key,}) : super(key: key); @override Widget build(BuildContext context) { return Row( mainAxisAlignment: MainAxisAlignment.center, children: [ ElevatedButton( onPressed: () { _button1(context); }, child: const Text("1:VMに値+1")), ElevatedButton( onPressed: () { _button2(context); }, child: const Text("2:100に移動")), ElevatedButton( onPressed: () { _button3(context); }, child: const Text("3:199に移動")), ], ); }
- 329 名前:デフォルトの名無しさん [2022/08/08(月) 23:08:08.10 ID:7uJO41n7a.net]
- void _button1(BuildContext context) {
final ViewModelTest vm = context.read(); vm.counter += 1; } void _button2(BuildContext context) { final ViewModelTest vm = context.read(); vm.scrollRequest(100,); } void _button3(BuildContext context) { final ViewModelTest vm = context.read(); vm.scrollRequest(199,); } }
- 330 名前:デフォルトの名無しさん [2022/08/08(月) 23:08:35.92 ID:7uJO41n7a.net]
- class ViewModelTest extends ChangeNotifier {
int get counter => _counter; int _counter = 0; final List<GlobalKey> _keyList = List.generate(100, (index) => GlobalKey()).toList(); List<GlobalKey> get keyList => _keyList; set counter(int value) { _counter = value; notifyListeners(); } scrollRequest(int scrollIndex) { //this.scrollRequestCallback(scrollIndex); Scrollable.ensureVisible(keyList[scrollIndex - 100].currentContext!, duration: const Duration(milliseconds: 300), curve: Curves.easeOut, alignment: 0.5, alignmentPolicy: ScrollPositionAlignmentPolicy.explicit); } }
- 331 名前:デフォルトの名無しさん (ワッチョイ b190-HX2K) mailto:sage [2022/08/08(月) 23:25:24 ID:1TtsycsU0.net]
- MVVM的にはViewModelはView依存しちゃだめだから、そこら辺はViewModelから追い出さないと
Scrollable.ensureVisibleっておもいっきりViewのメソッドじゃないのか?
|

|