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

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

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

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

Android Studio

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

Q&A

解決済

1回答

384閲覧

AndroidStudioのJellyfishで、アクションバーの上部の色がおかしい

Suihe-Ribe-108

総合スコア9

Java

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

Android Studio

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

0グッド

0クリップ

投稿2024/05/20 07:40

編集2024/05/20 08:11

AndroidStudioで次の開発を行ったときにバグが発生しました。
機種 :Windows11
バージョン :「Android Studio Jellyfish | 2023.3.1」
プロジェクト名:「Empty Views Activity」

プロジェクト内容 名前 : TestApp_J パッケージ名 : com.example.testapp_j 保存ロケーション: F:\AndroidStudioProjects\Android_Java\TestApp_J 言語 : Java 最小APIレベル : API 22:Android 5.1 (Lollipop) Build configuration language: Kotlin DSL (build.gradle.kts) [Recommended]

この方法で、アプリケーションを作成すると、タイトルバーが表示されなかったので、次の修正をしました。

[themes.xml]

<resources xmlns:tools="http://schemas.android.com/tools"> <!-- Base application theme. --> <style name="Base.Theme.TestApp_J" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your light theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="Theme.TestApp_J" parent="Base.Theme.TestApp_J" /> </resources>

[themes.xml(night)]

<resources xmlns:tools="http://schemas.android.com/tools"> <!-- Base application theme. --> <style name="Base.Theme.TestApp_J" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your dark theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> </resources>

[colors.xml]

<?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorPrimary">#4040FF</color> <color name="colorPrimaryDark">#000080</color> <color name="colorAccent">#4040FF</color> <color name="black">#FF000000</color> <color name="white">#FFFFFFFF</color> </resources>

この方法でアプリケーションを作成すると、下図のようになりました。
イメージ説明
この画面では、次のことがわかります。
①タイトルバーは、colorPrimaryで指定した「#4040FF」で表示されている。
②タイトルバーの上部は、colorPrimaryDarkで指定した「#000080」で表示されていない。
この、②のバグで、現在悩んでいます。

アンドロイドの前バージョン「2022.2.1では、タイトルバーの上部も指定色で表示されていました。

どなたか、わかっておられる方がおられたら、ご教授お願いいたします。

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

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

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

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

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

jimbe

2024/05/20 07:45

コードと説明がごちゃごちゃになっています。 コードや設定ファイル等は個々にコードのマークダウンで囲うようにしてください。 画像のマークダウンは単一行に書いてください。 質問の入力・編集時に下部にプレビューがありますので、どのような表示になるのかを確認しながらしてみてください。
jimbe

2024/05/20 19:47 編集

編集有難う御座います。 スクリーンショットはエミュレータだと思いますが、アプリの見た目・動作はエミュレータの設定に因って異なると思います。 AndroidStudio の 2023.3.1 と 2022.2.1 で動かした時は各々どうなっているでしょうか。 こちらでも再現したいので具体的な値を示していただけると助かります。 また、タイトルバーがグラデーションだった事があったか覚えていないのですが「タイトルバーの上部」というのはどの辺でしょうか。
guest

回答1

0

自己解決

原因がわかりましたので、報告させてもらいます。

[MainActivity.java(変更前)]

package com.example.testapp_j; import android.os.Bundle; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); setContentView(R.layout.activity_main); ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); } }

[MainActivity.java(変更後)]

package com.example.testapp_j; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); } }

このように「EdgeToEdge」の行を削除すると、下図のとおり正常に表示ができました。
イメージ説明
お騒がせして、すみませんでした。

投稿2024/05/23 06:35

Suihe-Ribe-108

総合スコア9

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問