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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

1回答

2979閲覧

[canvas]背景色が反映されない。

-1an.vvks-

総合スコア71

Java

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2016/11/08 06:37

編集2016/11/09 00:56

[!] テキスト通り入力したはずなのですが、出力がテキスト通りにならないという問題です。


###Info:

  • こちらのテキストのChapter4,4-2-4「独自のViewを利用してみよう」(p.102-)を見ながら作っています。
  • 自分で作ったMyViewクラスに書かれた内容をActivityMain.javaで反映されるようにできたら成功?
  • MyView.javaはMainActivity.javaと同じディレクトリにあります。
  • IDEはAIDEです。PCないのでこれでやっています。
  • そもそもプログラミング初心者

###State:

  • エラーは出ませんが,出力結果がテキスト通りになりません。(T~T)
  • テキストではコメントアウトによって,事前に設置していたボタン等が表示されなくなるようですが,

実際に動かしてみると,背景色が変わらないだけでなく,ボタン等もそのまま残ってしまっています.


  • こんな感じで画面いっぱいに色がつくはずなのに

fromテキスト

  • 全く反映されてません.

実際の画面


###Code:

  • ActivityMain.java

java

1package com.mycompany.myapp; 2 3//import android.support.v7.app.ActionBarActivity; 4import android.app.*; 5import android.os.Bundle; 6import android.view.Menu; 7import android.view.MenuItem; 8import android.view.View; 9import android.widget.Button; 10import android.media.MediaPlayer; 11//import android.util.Log; 12 13 14public class ActivityMain extends Activity { 15 //MediaPlayer mPlayer;//追加 16 17 @Override 18 protected void onCreate(Bundle savedInstanceState) 19 { 20 super.onCreate(savedInstanceState); 21 22 MyView v = new MyView(this); 23 setContentView(v); 24 25 /* 26 setContentView(R.layout.activity_main); 27 28 Button btn = (Button) findViewById(R.id.button1); 29 //btn.setText("Hello"); 30 mPlayer = MediaPlayer.create(this, R.raw.hitosuji_no_hikari);//追加① 31 btn.setOnClickListener(new View.OnClickListener() { 32 @Override 33 public void onClick(View arg0) { 34 Button btn = (Button) arg0; 35 btn.setText("こんにちは"); 36 mPlayer.start();//追加② 37 } 38 }); 39 */ 40 } 41 42 @Override 43 protected void onPause(){ 44 super.onPause(); 45 //mPlayer.stop(); 46 //Log.d("TAG","onPause run"); 47 } 48 49 50 //@Override 51 //public boolean onCreateOptionsMenu(Menu menu){ 52 // 53 //} 54}
  • MyView.java

java

1package com.mycompany.myapp; 2 3import android.content.Context; 4import android.view.View; 5import android.graphics.Canvas; 6import android.graphics.Color; 7 8 9public class MyView extends View { 10 11 public MyView(Context context) { 12 super(context); 13 } 14 15 @Override 16 protected void onDraw(Canvas canvas) { 17 super.onDraw(canvas); 18 canvas.drawColor(Color.argb(255, 80, 116, 62) ); 19 } 20}

###Needs:

  • どんなファイルにどんなコードが要るのか。

(e.g. メイン画面の見た目を定義したXMLファイルのTextViewに「android:text="Hello"」を追記。)

  • できれば、どうしてそれが要るのかも解説してもらえるとありがたいです。

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

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

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

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

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

guest

回答1

0

MyViewのサイズを指定していないからだと考えられます。
MyViewに適当なサイズを指定して確認してください。

投稿2016/11/08 11:34

yona

総合スコア18155

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

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

-1an.vvks-

2016/11/08 14:34 編集

> MyViewのサイズを指定していないから というのは盲点でした.そういうこともあるんですね. > MyViewに適当なサイズを指定 これをどうやるのか見当もつきません. クラスのサイズ指定とはどのようにやるものなのでしょうか.
yona

2016/11/09 00:06

初心者ならまずは自身で調べましょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問