🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Android Studio

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

Q&A

解決済

1回答

652閲覧

アンドロイドスタジオ ConstraintLayoutで背景画像を表示(再投稿)

NayamiMondai

総合スコア28

Android Studio

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

0グッド

0クリップ

投稿2019/11/22 09:28

編集2019/11/27 08:08

△編集しての投稿

~ teratailよりメールを頂き、再投稿させて頂きます。
~ 再編集と言っても、質問⇒回答⇒再質問⇒回答を待つを列挙したに過ぎません。
~ 画像を添付します。(初めの質問で添付するつもりが忘れました)
~ 以下、見てお分かりのように超初心者なので、勝手ながらご助言は、手順を追ってして頂けると、目下の幸いです。
~ よろしくお願いいたします。

アンドロイドスタジオ ConstraintLayoutで背景画像を表示

投稿 2019/11/22 18:28

私は、あるテキストを見ながらConstraintLayoutで背景画像を表示してみよう思いました。(超初心者)
Android Studioのプレビュー画面では、画像は正しく表示されていますが、エミュレータ起動すると、画像が表示されません。

以下は私が使っているコードです。

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Android StudioのUIプレビューを添付します
画像①
で、エミュレータを起動しても表示されません。以下は起動したエミュレータのスクリーンショットです。
画像②

実現したいことは、起動したエミュレータに背景画像を表示する手順をおしえてください。
で、質問する前に、サイトで色々検索してみましたが、実力不足で検索することが出来ませんでした。
尚、テキスト作成者とは、連絡が取れません。(正確には、連絡先は分かりません。)
で、私の環境は、Windows10、アンドロイドスタジオは最新です。
宜しくお願いします。

△で、以下に回答を頂きました。

回答 1 件

res_drawableに保存した画像「画像名.jpg」(仮にjpg)を表示するには
MainActivityでイメージビューにセットする必要があります
kotlinですいません

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) imageView1.setImageResource(R.drawable.画像名) }

}
XMLではその画面でどんな感じで見えるか試すために画像選択をしてるだけです

投稿 2019/11/22 20:32

Hiroshi_Kito
Hiroshi_Kito
score 24

△再質問。(以下)

2019/11/22 22:11

早々の解答有り難うございます。
ご助言、頂きましたが私が超初心者なので申し訳ないです。
一応、下記のように書きました。
▲立ち上げ時のコード

package com.example.myapplication005;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
▲記述したコード

package com.example.myapplication005;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

imageView1.setImageResource(R.drawable.back);

}
}

・・・で、画像名は「 back 」です。
・・・エラーが、「シンボル'imageView1'を解決できません」
・・・エミュレータを一応、起動しましたがだめです。
宜しくお願いします。

△回答
Hiroshi_Kito
Hiroshi_Kito
2019/11/22 22:35

imageView1 はレイアウトxml画面で設定した ID の名前です
xmlの画面で設定してください

質問内容を見てみると
TextViewをImageViewと文字だけ変えてるのかな?
Text→Design画面にしてImageViewを置いてからid設定してください

画像は[res]-[drawable]に入ってますよね?

この3つを確認してください
NayamiMondai
NayamiMondai

△再質問
2019/11/23 16:07

お手数をおかけします。
二回目のご助言に基づいて行いましたが、駄目でした。
私のご助言の読解に問題がると思い、下記に記しました。
査収の程、お願い申し上げます。

1、以下の手順で、xmlの画面を表示しましたが…間違いありませんか?
app → src → main → res → layout → activity → activity_main.xml

2、id設定の画面です。(全く自信ありません)

*立ち上げ画面

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ImageView app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:src="@drawable/back" android:scaleType="centerCrop" android:layout_width="0dp" android:layout_height="0dp"/>

</androidx.constraintlayout.widg

* id設定画面

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ImageView
android:id="@+id/image" → id設定コード
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:src="@drawable/back"
android:scaleType="centerCrop"
android:layout_width="0dp"
android:layout_height="0dp"/>

</androidx.constraintlayout.widget.Constraint

3、画像は、間違いなく入っております。

以上、よろしくお願いいたします。

以下に、画像を添付します
イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

res_drawableに保存した画像「画像名.jpg」(仮にjpg)を表示するには
MainActivityでイメージビューにセットする必要があります
kotlinですいません

class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) imageView1.setImageResource(R.drawable.画像名) } }

XMLではその画面でどんな感じで見えるか試すために画像選択をしてるだけです

投稿2019/11/22 11:32

HRSKT

総合スコア168

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

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

NayamiMondai

2019/11/22 13:11

早々の解答有り難うございます。 ご助言、頂きましたが私が超初心者なので申し訳ないです。 一応、下記のように書きました。 △立ち上げ時のコード package com.example.myapplication005; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } △記述したコード package com.example.myapplication005; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView1.setImageResource(R.drawable.back); } } ・・・で、画像名は「 back 」です。 ・・・エラーが、「シンボル'imageView1'を解決できません」 ・・・エミュレータを一応、起動しましたがだめです。 宜しくお願いします。
HRSKT

2019/11/22 13:35

imageView1 はレイアウトxml画面で設定した ID の名前です xmlの画面で設定してください 質問内容を見てみると TextViewをImageViewと文字だけ変えてるのかな? Text→Design画面にしてImageViewを置いてからid設定してください 画像は[res]-[drawable]に入ってますよね? この3つを確認してください
NayamiMondai

2019/11/23 07:07

お手数をおかけします。 二回目のご助言に基づいて行いましたが、駄目でした。 私のご助言の読解に問題がると思い、下記に記しました。 査収の程、お願い申し上げます。 1、以下の手順で、xmlの画面を表示しましたが…間違いありませんか? app → src → main → res → layout → activity → activity_main.xml 2、id設定の画面です。 *立ち上げ画面 ↓ <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:src="@drawable/back" android:scaleType="centerCrop" android:layout_width="0dp" android:layout_height="0dp"/> </androidx.constraintlayout.widg * id設定画面 ↓ <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:id="@+id/image" → id設定コード app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:src="@drawable/back" android:scaleType="centerCrop" android:layout_width="0dp" android:layout_height="0dp"/> </androidx.constraintlayout.widget.Constraint 3、画像は、間違いなく入っております。 以上、よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2019/11/27 10:53 編集

横から失礼します。 質問者さんはImageViewを"image"というIDで指定しているのですから、 imageView1じゃなくて、imageって書いてないとエラーになりますよ。 TO質問者さん
NayamiMondai

2019/11/27 12:59

回答、有難うございます。 超初心者なもんで、頓珍漢な質問、お許しください。 質問1、以下の手順で、xmlの画面を表示しましたが…間違いありませんか? 質問2、id設定の画面は、間違いですか? 質問3、若しくは、画面は、間違いではないが、コードが間違いですか? 質問4、コードが間違いなら、正しいコードを教えてください。 質問5、id設定画面が間違いなら、正しい画面の表示方法を教えてください。(コードもお願いします) よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2019/11/27 13:48

ソースをimageにするかidをimageView1にしてください。
NayamiMondai

2019/11/27 14:13

回答、有難うございます。 今の私のレベルは、見てご存じの通りで、今回の作業もテキストをなぞってきているだけなので、 1、ソースを・・・分かりません。 一応、app⇒source・・・等々辿ってBuildConfigまできましたが・・・後が分かりません。 2、android:id="@+id/imageimageView1"・・・と、いうことでしょうか?
退会済みユーザー

退会済みユーザー

2019/11/27 14:46

> 今回の作業もテキストをなぞってきているだけ 理解する気がないって意味ですか? imageでもimageView1でもいいから、ソースに書いた変数名とidを揃えろって言ってるんです。 大体にしてiって打った時点で予測に出てきますよね?xmlでImageViewに入れたidが。
HRSKT

2019/11/28 01:37

私がkotlinで答えてしまったため混乱させてしまったかな? javaよりkotlinが得意なため、なんかごめん 質問編集が長文になってコピペのため現状がわかりませんが下記とすると あなたの書いたプログラム >android:id="@+id/image" >imageView1.setImageResource(R.drawable.back); 1.image ←XMLで作った部品イメージビューのid 2.imageView1 ←java内で使用する名前 3.back ←drawableフォルダに入れたイメージ画像の名前 1.と2.を同じにしたらいいですよ あと、前回も書いたと思うのですが もとの質問で書かれていたXMLですが、一番最初に表示される"Hello World!"の <TextView を <ImageView と変えているだけのように思えます 参照されている本やホームページに書かれている作業手順を参考にしてください
NayamiMondai

2019/11/28 08:07

Hiroshi_Kito様、yukke_様 数回にわたる貴重な回答、有難うございます。 11/27、yukke_様からの回答、そして本日のHiroshi_Kito様からの回答を 私なりに色々と考え試みましたが、今の私には無理と分かりました。 又、そんな私がこれ以上皆様にご迷惑をお掛けすることは良くないと判断し、 此の質問を終了したいと思います。 貴重なお時間をとらせ、誠にすみませんでした。 尚、此の質問自体は放棄することなく自身の学習を深めて解決する所存です。 で、必ず解決した内容をHiroshi_Kito様、yukke_様に”報告”したいと思います。(期日は、ご勘弁を) 追伸:yukke_様、11/27コメントにて”理解する気がないって意味ですか?”のご指摘、    有難うございます。    真意は、自身のレベルの実情と経緯を込めて書いたつもりでしたが、    不快な思いをさせてしまいました。申し訳ございませんでした。
退会済みユーザー

退会済みユーザー

2019/11/28 10:13

これは、流石に言い過ぎました。すみません。 ただ、理解しようとしないと捉えられる発言をすると、教えても意味ないかな、と思われる可能性もあるのでうかつにそういうこと書かないほうがいいです。 で、失礼なことをしてしまったままだと申し訳ないので…以下書きます。 今回はJavaなので、Kotlinのようにidをそのまま変数にはしてくれないので、 ImageView imageView = findViewById(R.id.image); のようにfindViewByIdをかませる必要があります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問