質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

2587閲覧

fragmentで作った画面でMainを覆うには

hood

総合スコア351

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2018/07/14 23:29

編集2018/07/15 23:45

###fragamentで覆ったmain画面のボタンが浮き出る。
Android studioでノベルゲームを作っています。今、以下のようなオプション画面を実現したく奮闘しています。
![イメージ説明
しかし、オプションをfragmentで作ると以下の画像のようにゲームスタート画面のボタンが浮き出てしまいます。さらにそれを押せてしまいます。(本来ならcreditとtwitterでいい。)
イメージ説明
以前もこの画面構築について相談させていただいたのですが、そのとき「背景を半透明にしたレイアウトの中にオプション画面を入れ、そのレイアウトをFragmentに設定して画面全体に表示されるよう配置すればいい」というアドバイスをいただきました。
それに基づいて画面を作ったのですが、やはり浮き出てしまいます。
以下にコードを載せます。これをどのように改造すればよいのでしょうか?指針だけでも教えていただけたらありがたいです・・・・
fragment_option.xml

lang

1<?xml version="1.0" encoding="utf-8"?> 2<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 android:background="#7f000000" 8 tools:context=".OptionFragment"> 9 10 11 <ImageView 12 android:id="@+id/imageView" 13 android:src="@color/colorPrimary" 14 android:layout_width="300dp" 15 android:layout_height="300dp" 16 app:layout_constraintBottom_toBottomOf="parent" 17 app:layout_constraintEnd_toEndOf="parent" 18 app:layout_constraintStart_toStartOf="parent" 19 app:layout_constraintTop_toTopOf="parent" /> 20 21 <TextView 22 android:id="@+id/option_title" 23 android:layout_width="wrap_content" 24 android:layout_height="wrap_content" 25 android:layout_marginEnd="8dp" 26 android:layout_marginStart="8dp" 27 android:layout_marginTop="300dp" 28 android:text="Option" 29 android:textColor="@color/white" 30 android:textSize="30sp" 31 app:layout_constraintEnd_toEndOf="parent" 32 app:layout_constraintStart_toStartOf="parent" 33 app:layout_constraintTop_toTopOf="parent" /> 34 35 <Button 36 android:id="@+id/button_credit" 37 android:layout_width="wrap_content" 38 android:layout_height="wrap_content" 39 android:layout_marginStart="65dp" 40 android:layout_marginTop="64dp" 41 android:onClick="goCredit" 42 android:text="Credit" 43 app:layout_constraintStart_toStartOf="parent" 44 app:layout_constraintTop_toBottomOf="@+id/option_title" /> 45 46 <Button 47 android:id="@+id/button_twitter" 48 android:layout_width="wrap_content" 49 android:layout_height="wrap_content" 50 android:layout_marginEnd="64dp" 51 android:onClick="goTwitter" 52 android:text="Twitter" 53 app:layout_constraintEnd_toEndOf="parent" 54 app:layout_constraintTop_toTopOf="@+id/button_credit" /> 55 56</android.support.constraint.ConstraintLayout> 57

ActiivityTitle

lang

1<?xml version="1.0" encoding="utf-8"?> 2<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 android:background="@color/colorPrimaryDark" 8 tools:context=".TitleActivity"> 9---略 10 <FrameLayout 11 android:id="@+id/fragment" 12 android:name="com.example.android.test.OptionFragment" 13 android:layout_width="match_parent" 14 android:layout_height="match_parent" 15 app:layout_constraintBottom_toBottomOf="parent" 16 app:layout_constraintEnd_toEndOf="parent" 17 app:layout_constraintStart_toStartOf="parent" 18 app:layout_constraintTop_toTopOf="parent" /> 19 20 21</android.support.constraint.ConstraintLayout>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

前回の質問 で回答した者です。レイアウトxmlと大きなスクリーンショットを載せていただいたことでやっと「浮き出てしまう」という問題の意味がわかりましたので、補足しておきます。

Android 5.0以降ではViewには android:elevation という属性があり、そのViewがz方向でどの位置に表示されるのかを指定することができます。これはレイアウトxml内の重なり順よりも優先されます。

Buttonは特にstyleの設定をしていなければ標準でelevationが2dpに設定されていたと思うので、そのぶん他のViewよりも上に(浮き上がって)表示されてしまうわけです。これを回避するには、

  • オプション画面のViewに、Buttonよりも大きいelevation(2dp以上)を設定する
  • Buttonのelevationを0dpに設定する
  • Buttonのstyleを浮き上がらないものに変更する

参考: https://materialdoc.com/components/buttons/#flat-button

  • Dialogを使って別のWindow上にオプション画面を表示する

のいずれかをやってみてください。
前回お答えしたとおり、Dialogを使うのが一番考えることが少なく済むのでおすすめです。

投稿2018/07/17 05:57

kakajika

総合スコア3131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hood

2018/07/17 11:20

kakajikaさん、回答ありがとうございます!具体的な解決案をいくつも提示していただき、とてもありがたいです。希望の光が一筋見えた気がします。本当にありがとうございました! それと前回きちんと説明できず二度手間のような形になってしまったこと、申し訳なかったです・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問