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

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

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

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

Android

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

Android Studio

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

Q&A

1回答

1954閲覧

Ripple Effectについて 

TakamasaAwai

総合スコア73

Java

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

Android

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

Android Studio

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

0グッド

0クリップ

投稿2015/06/22 10:33

lollipopのRipple Effectを動的にカスタマイズしています。Effectの色をランダムにしたいので、hairetu3の中にres/valuesの色を並び替えて、それを色に適用しよう、ということをしているのですが、できません。どこがおかしいのでしょうか?

lang

1onCreate{ 2・・・ 3hairetu3 = new int[]{R.color.Black, R.color.Navy, R.color.Dark_Blue, R.color.Blue, R.color.Medium_Blue, 4 R.color.Dark_Green, R.color.Teal, R.color.Green, R.color.Dark_Cyan, R.color.Deep_Sky_Blue, 5 R.color.Dark_Turquoise, R.color.Medium_Spring_Green, R.color.Lime, R.color.Spring_Green, 6 R.color.Aqua, R.color.Midnight_Blue, R.color.Dodger_Blue, R.color.Light_Sea_Green, R.color.Forest_Green, 7 R.color.Sea_Green, R.color.Dark_Slate_Gray, R.color.Lime_Green, R.color.Medium_Sea_Green, R.color.Turquoise, 8 R.color.Royal_Blue, R.color.Steel_Blue, R.color.Dark_Slate_Blue, R.color.Medium_Turquoise, R.color.Indigo, 9 R.color.Dark_Olive_Green, R.color.Cadet_Blue, R.color.Corn_Flower_Blue, R.color.Medium_Aquamarine, R.color.Dim_Gray, 10 R.color.Slate_Blue, R.color.Olive_Drab, R.color.Slate_Gray, R.color.Light_Slate_Gray, R.color.Medium_Slate_Blue, 11 R.color.Lawn_Green, R.color.Chartreuse, R.color.Aquamarine, R.color.Maroon, R.color.Olive, 12 R.color.Sky_Blue, R.color.Light_Sky_Blue, R.color.Blue_Violet, R.color.Dark_Red, R.color.Dark_Magenta, 13 R.color.Saddle_Brown, R.color.Dark_Sea_Green, R.color.Light_Green, R.color.Medium_Purple, 14 R.color.Dark_Violet, R.color.Pale_Green, R.color.Dark_Orchid, R.color.Yellow_Green, R.color.Sienna, 15 R.color.Brown, R.color.Dark_Gray, R.color.Light_Blue, R.color.Green_Yellow, R.color.Pale_Turquoise, 16 R.color.Light_Steel_Blue, R.color.Powder_Blue, R.color.Fire_Brick, R.color.Dark_Goldenrod, 17 R.color.Medium_Orchid, R.color.Rosy_Brown, R.color.Dark_Khaki, R.color.Silver, R.color.Medium_Violet_Red, 18 R.color.Indian_Red, R.color.Peru, R.color.Chocolate, R.color.Tan, R.color.Light_Gray, R.color.Thistle, 19 R.color.Orchid, R.color.Goldenrod, R.color.Pale_Violet_Red, R.color.Crimson, R.color.Gains_Boro, 20 R.color.Plum, R.color.Burly_Wood, R.color.Light_Cyan, R.color.Lavender, R.color.Dark_Salmon, 21 R.color.Violet, R.color.Pale_Golden_Rod, R.color.Light_Coral, R.color.Khaki, R.color.Alice_Blue, 22 R.color.Honeydew, R.color.Azure, R.color.Sandy_Brown, R.color.Wheat, R.color.Beige, R.color.White_Smoke, 23 R.color.Mint_Cream, R.color.Ghost_White, R.color.Salmon, R.color.Antique_White, R.color.Linen, 24 R.color.Light_Golden_Rod_Yellow, R.color.Oldlace, R.color.Red, R.color.Fuchsia, R.color.Magenta, 25 R.color.Deep_Pink, R.color.Orange_Red, R.color.Tomato, R.color.Hot_Pink, R.color.Coral, 26 R.color.Dark_Salmon, R.color.Dark_Orange, R.color.Light_Salmon, R.color.Orange, R.color.Light_Pink, 27 R.color.Pink, R.color.Gold, R.color.Peach_Puff, R.color.Navajo_White, R.color.Moccasin, R.color.Bisque, 28 R.color.Misty_Rose, R.color.Blanche_Dalmond, R.color.Papayawhip, R.color.Lavender_Blush, R.color.Sea_Shall, 29 R.color.Corn_Silk, R.color.Lemon_Chiffon, R.color.Floral_White, R.color.Snow, R.color.Yellow, 30 R.color.Light_Yellow, R.color.Ivory, R.color.White}; 31 32int[] newlist2 = new int[hairetu3.length]; //ランダム並べ替え後の定数配列 33 for (int i2 = 0; i2 < hairetu3.length; i2++) { 34 while (true) { 35 int a2 = r.nextInt(hairetu3.length); 36 newlist2[i2] = hairetu3[a2]; 37 break; 38 } 39 ColorStateList csl = ColorStateList.valueOf(hairetu3[r.nextInt(hairetu3.length)]); 40 RippleDrawable d = new RippleDrawable(csl, null, null); 41 42 ColorStateList otherCsl = ColorStateList.valueOf(hairetu3[r.nextInt(hairetu3.length)]); 43 d.setColor(otherCsl); 44 } 45}

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

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

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

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

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

guest

回答1

0

R.color.***は,xmlから色情報を引き出すためにプログラムが使う単なるインデックス番号で,
xmlで設定した色数値を直接表しているわけではありません.
(この変数はプロジェクトのgenディレクトリに自動生成された
R.java内の内部クラスcolor内の定数を指しています)
xmlから色を表す数値を引き出すには.

lang

1int color = getResources().getColor(R.color.***);

としなければなりません.この場合,配列からインデックスをランダムで引っ張って色設定しているので,

lang

1int temp = hairetu3[r.nextInt(hairetu3.length)]; //色インデックスをランダムに設定 2//それを元に色設定 3ColorStateList csl = ColorStateList.valueOf(getResources().getColor(temp));

こうする必要があります.

ところで,ランダムに色を設定するのならば,配列をランダムに並び替える必要はないのでは?

投稿2015/06/22 14:39

編集2015/06/22 14:43
swordone

総合スコア20649

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

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

TakamasaAwai

2015/06/22 15:11

しかし、例えば、Corn_Silkという値は確かにres/valuesの中に作った値です。これを作る前は、配列の中がエラーになります.
TakamasaAwai

2015/06/22 15:15

ただ、並び替えなくていいと言うのはわかりました。
swordone

2015/06/22 15:16

説明不足ですみません. 私が言っているのは int[] newlist2 = new int[hairetu3.length]; //ランダム並べ替え後の定数配列 for (int i2 = 0; i2 < hairetu3.length; i2++) { while (true) { int a2 = r.nextInt(hairetu3.length); newlist2[i2] = hairetu3[a2]; break; } これのことです
swordone

2015/06/22 15:18

よく見るとwhileループも意味が無いですし(1回処理してすぐbreakする)
TakamasaAwai

2015/06/22 15:36

コメントありがとうございます。私もいらないと思いました。 そこの所は怪傑したのですが、いまRipple Effectの色を動的に設定したいのです。サイトを結構探しているのですが、javaファイルだけで色を設定しているのが出てきません。ご存知でしたら、ご教授ください。
swordone

2015/06/22 15:47

「Javaファイルだけで」ということであれば.Javaファイル内に色の定義を設定してしまえばいいのではないでしょうか? public static final BLACK = 0x0; と言った具合に.
swordone

2015/06/23 08:28

何がどううまく行かないのかわかりません.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問