• 締切済み

androidでのレイアウトについて

はじめまして。 Anadoidアプリ制作の為、一人で本とWebを活用しながら頑張っているところです。 今まで、VB6.0やPerlでしかプログラムは組んだことがありません。 そこで今回Javaに関しては初めてなのですが、 数冊本を読みながらテストプラグラムを作りながら実行している段階です。 そして、質問したいことは、androidでは、XMLを使ったレイアウトを 推奨されているみたいですが、XMLファイルを使用してしまうと、 今の自分の知識では、レイアウトを固定にすることしか考えができず、 動的に表示させる方法が浮かびません。 例えば、 メニューが1から3まであった場合に、 メニュー1と2では上半分が同じレイアウトで メニュー2と3では下半分が同じというように 同じ部分を2つ以上共有するようなレイアウトを 使用したい場合に、自分としましては、 レイアウト(画像や文字などを表示するプログラム)を クラス化してSwitch分によって呼び出すような感じで 作りたいと思っているのですが、このような考えは 無理なのでしょうか? 画面解像度別の話は今回は考えない方向でよろしくお願い致します。

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

大丈夫よん。 プログラムなんてやりたい事が実現できりゃrayout.xmlをinflateしようとJavaでがりがり書こうと使う人にとっちゃ関係ない。 そもそもrayout.xmlだってinflatorがxmlを読み込んでタグの順番にViewをnewしてアトリビュートの順番にプロパティをセットしてaddViewしているに過ぎない。 と私は個人的には思っているのだが、まぁ推奨される手法というのは気になるところ。 で、まぁ折衷案と言うか、パーツごとにrayout.xmlを作って、メニュー1ではparts1.xmlとparts1under.xmlを上下に配置、メニュー2ではparts1.xmlとparts2under.xmlを、メニュー3ではparts3.xmlとparts2under.xmlを配置するというような事もできるし、もっと突っ込んで勉強するとFragmentなるものの存在を知ることだろうて。

関連するQ&A

  • Androidアプリの解像度別レイアウト

    Androidアプリの解像度別レイアウトの質問です。 今現在、Android向けアプリの作成をしています。勉強レベルですが、Android向けのアプリをいくつか作った経験があります。そのときは自分の持っている端末にレイアウトを合わせて設計していました。 リリース向けの汎用性を持たせたアプリを作る場合、レイアウトはどのように行うのが一般的なのでしょうか。自分は、 (1)それぞれの解像度(hdpi,xhdpiなど)に合わせたレイアウトファイル.xmlを作り、setContentView()でレイアウトする。 (2)解像度別に配置するべき位置を計算してビューを配置する。(この場合pixel単位での配置になるでしょうか。) 上記2つの方法を考えました。 動的にビューを動かしたい場合などはdp単位で動かせるのかも疑問点です。 汎用性が高く、実装しやすいレイアウトのポイントなどありましたらご教授お願いします。

  • Android javaでの画像の表示

    Android javaでの画像の表示 javaとxmlでの使い分け xmlでレイアウトをしつつ画面移行のプログラムを組んでいます。 やりたいことは、 前アクティビティからputExtraで値を受け取り、 その値によって画像の切り替えを行いたいのですが、 切り替えを行うためには変数を使う必要があるので、 xmlでの画像表示ではできません。 ですが、変数で画像を切り替えるようにすると、 R.layout.mainが使えません。 ようは、setcontentview(R.layout.main)でレイアウトをしつつ(こっちではImageView等、画像表示はしない)、 java内で画像を表示したい。 と、いうことです。 どなたか、やり方、もしくは参考になりそうな サイトを教えてください。 お願いします

  • ファイルメーカーを立ち上げたときに、必ず同じレイアウトが表示されるようにする。

    ファイルメーカーPro7をwindowsXPで使用しています。 在庫管理DBを作成しているのですが、レイアウトが複数あるので メニュー画面を1レイアウトとして作成しました。 立ち上げたとき、必ずこのメニュー画面から入るようにしたい のですが、他のレイアウトでデータを更新し、そのまま アプリケーションを終了した場合、次に立ち上げたときには そのレイアウトがトップ画面として表示されてしまいます。 複数人で共有して使用することを想定しているため、 ご操作・誤入力を避けるようにメニューをトップで表示させたいのです。 どのようにすれば解決するか教えていただけますでしょうか。 よろしくお願いいたします。

  • アンドロイドアプリ開発超ド素人です。

    オリジナルデザインのウィジェットを作りたいと思い、とりあえず練習でホーム画面にテキストのウジェットを表示させたいです。 様々な参考サイトを見る限り、「新規Androidアプリケーションプロジェクト」の作成内でアクティビティ作成のチェックを外してからプロジェクトを作ると書いてあります。 しかし、チェックを外してからプロジェクトを作成すると、layout内にあるはずのの「main.xml」ファイルが存在しません。(チェックをつけた状態でプロジェクトを作成すると、「layout内にactivity_main.xml」、「menu内にmain.xml」が作成されます。) 参考サイトではどれも、「main.xmlをRemoteViews」にセットするみたいな記述が書いてあるので、困ってます。 layout内に手動でmain.xmlを作って試したのですが、うまくいきませんでした。 エクリプス、SDKなどは、「adt-bundle-windows-x86-20130522」にまとまって入っていたのを使用しています。 使っているサイトはこちらです。 http://boco.hp3200.com/beginner/widget01-1.html ↓ どうすればウジェットが作れるのか、詳しく教えてもらえると嬉しいですm(_ _)m

    • ベストアンサー
    • Java
  • HTMLレイアウトのことについて教えてください

    HTML初心者で右も左も解らないのでよろしくお願いします CSSで左がメニュー、右がコンテンツ部分の2カラムのテンプレートを作成しています、フレームを使用したときのようにメニューを押したら左の部分だけを変えることはできますか? 通常は同じレイアウトにしたい場合はメニューの数だけ同じテンプレートのHTMLを作成する物ですか? そうした場合メニューや同一レイアウトの部分に変更があった場合全てのHTMLを書き直さなければいけないという事ですよね? メニューの数が多い場合や変更がこまめにある場合はは大変になりますよね? 何か良い方法はありますか? 普通はこういった使い方はしないものでしょうか? よろしくお願いします。

  • Windows 解像度の違うディスプレイで同じレイアウト表示

    Windows 解像度の違うディスプレイで同じレイアウト表示 解像度の違うディスプレイで同じ様なレイアウトで表示させたいと考えています。 他サイト等を調べていると「スケーリング」という方法を目にしました。 しかし、ソースコードやサンプルコードが無い為、使用方法がいまいち解りません。 詳しい使用方法をご存じの方がおられましたら、アドバイスよろしくお願いいたします。 スケーリング以外でも解像度の違うディスプレイで同じレイアウト表示ができる手段があれば、併せてお願いします。 ソースコードや他サイトのリンク等があると助かります。 何卒、よろしくお願いいたします。

  • ページのレイアウトについて

    メニューを横一列に表示していますが、解像度を800X600に下げるとメニューが2列になってしまいます。NOWRAPなどで、改行を禁止にすると横スクロールが出ます。 見る側からするとどちらがいいのでしょうか? 大きい解像度さんのためにはTABLEでかこんでCENTER配置にしています。 ちなみに自分のパソコンは1024X768です。

    • ベストアンサー
    • HTML
  • word2008でノートレイアウトにすると強制終了されます。

    word2008を利用しています。 最近ノートレイアウト表示に切り替えようとすると、 「問題が発生したため、microsoft wordを終了します。ご不便をおかけして申し訳ありません」 と表示されて、wordが終了してしまいます。 (10月の末ごろまでそんなことはありませんでした。) ノートレイアウトは少し気に入っていた機能だったので、 何とか自由に使えるようにしたいと思っています。 少し検証をしてみたところ、 ウィンドウ左下のボタンを押した場合と、 メニューバーの表示からノートレイアウトを押した場合は、 必ず落ちてしまいます。 ただ、 新規で立ち上げて、プロジェクトギャラリーからノートレイアウトを開いた場合だけ、 表示ができます。 また、ヘルプから更新プログラムを確認したところ、 最新版に更新済み、という事でした。 直す方法はないでしょうか? お知恵をお授けください。 よろしくお願いいたします。

    • 締切済み
    • Mac
  • autocad2014 レイアウトについて

    会社でautocad lt 2014を使用しています。現在初心者でhow to 本を見ながら勉強中です。 本の指示通りに操作していて気付いたのですが、 画面上部にあるリボンタブの中で「レイアウト」タブがありませんでした。 ホーム、挿入、注釈、パラメトリック、表示、管理、出力、プラグイン、Autodesuku 360はきちんと表示されています。 右クリックして、タブを表示欄を見ても「レイアウト」の欄がなくチェックも入れられません。 どのようにしたらレイアウトを表示できますか? ちなみに家でも練習できるように試用版を入れましたが、試用版ではきちんと表示されています。 どうぞよろしくお願いします。

  • androidアプリ開発 -間違い探しアプリ-

    androidの間違い探しアプリを作ろうと思っています。 イメージ的には背景用のImageViewに画像を表示して、 間違っている箇所にカラのImageViewを載せ、 ImageViewがクリックされたら正解というような仕組みにしようと思っています。 そこで、下記コードを書いています。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" > <ImageView android:id="@+id/mainImage" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/stage1" ></ImageView> <ImageView android:id="@+id/onImage" android:layout_width="40dip" android:layout_height="40dip" android:layout_marginLeft="240dp" android:layout_marginTop="180dp" android:onClick="seikai" /> </RelativeLayout> が、解像度や画面サイズによってカラのImageViewの場所が変わってしまい、うまくいきません。 resフォルダ内に 「layout-land-hdpi」 「layout-land-ldpi」 「layout-land-mdpi」 「layout-land-xhdpi」 フォルダを作り、解像度ごとに位置の微調整は行なっていますが、 画面サイズが異なるとやはりずれてしまいます。 解像度、画面サイズにかかわらず位置を固定する方法はないのでしょうか。 ない場合はやはり画面サイズと解像度すべての条件のxmlを作成する必要がありますか。 また、そもそも 「イメージ的には背景用のImageViewに画像を表示して、間違っている箇所にカラのImageViewを載せる」やり方が間違っているのでしょうか。

専門家に質問してみよう