![イメージ説明]WIDTH:221TextViewのGravityをランダムにしたかったので、このようなコードを書きました。
lang
1public class MainActivity2 extends Activity { 2 3 public int[]hairetu; 4 public String mondai; 5 public int seikai; 6 int []hairetu2; 7 TextView textView; 8 Random rnd = new Random(); 9 10 @Override 11 protected void onCreate(Bundle savedInstanceState) { 12 super.onCreate(savedInstanceState); 13 setContentView(R.layout.activity_main2); 14 hairetu2 = new int[]{Gravity.CENTER, Gravity.LEFT, Gravity.RIGHT, Gravity.TOP, 15 Gravity.BOTTOM, Gravity.FILL, Gravity.FILL_VERTICAL, Gravity.FILL_HORIZONTAL, 16 Gravity.CENTER_VERTICAL, Gravity.CENTER_VERTICAL, 17 Gravity.TOP | Gravity.CENTER, Gravity.TOP | Gravity.CENTER_HORIZONTAL, Gravity.TOP | Gravity.RIGHT, 18 Gravity.TOP | Gravity.LEFT, Gravity.BOTTOM | Gravity.LEFT, Gravity.BOTTOM | Gravity.RIGHT}; 19 20 textView = (TextView) findViewById(R.id.t); 21 start(); 22 int[] newlist = new int[hairetu2.length]; //ランダム並べ替え後の定数配列 23 for (int i = 0; i < hairetu2.length; i++) { 24 while (true) { 25 int a = rnd.nextInt(hairetu2.length); 26 newlist[i] = hairetu2[a]; 27 break; 28 } 29 } 30 31 } 32 public void start() { 33//省略 34 35 hairetu2 = new int[16]; 36 hairetu2[0] = rnd.nextInt(hairetu2.length); 37 hairetu2[1] = rnd.nextInt(hairetu2.length); 38 hairetu2[2] = rnd.nextInt(hairetu2.length); 39 hairetu2[3] = rnd.nextInt(hairetu2.length); 40 hairetu2[4] = rnd.nextInt(hairetu2.length); 41 hairetu2[5] = rnd.nextInt(hairetu2.length); 42 hairetu2[6] = rnd.nextInt(hairetu2.length); 43 hairetu2[7] = rnd.nextInt(hairetu2.length); 44 hairetu2[8] = rnd.nextInt(hairetu2.length); 45 hairetu2[9] = rnd.nextInt(hairetu2.length); 46 hairetu2[10] = rnd.nextInt(hairetu2.length); 47 hairetu2[11] = rnd.nextInt(hairetu2.length); 48 hairetu2[12] = rnd.nextInt(hairetu2.length); 49 hairetu2[13] = rnd.nextInt(hairetu2.length); 50 hairetu2[14] = rnd.nextInt(hairetu2.length); 51 hairetu2[15] = rnd.nextInt(hairetu2.length); 52 53 textView.setGravity(hairetu2[rnd.nextInt(hairetu2.length)]); 54 55 }
しかし、プログラムを実行したら、TextViewは上の部分(TOP|CENTERとTOP|LEFTとTOP|RIGHY)だけで移動して、下には移動しません。xmlはこんな感じです。
lang
1<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 3 android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 4 android:paddingRight="@dimen/activity_horizontal_margin" 5 android:paddingTop="@dimen/activity_vertical_margin" 6 android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" 7 android:orientation="vertical"> 8 9 <TextView 10 android:id="@+id/t" 11 android:text="1234" 12 android:textSize="45sp" 13 android:layout_width="match_parent" 14 android:layout_height="0dp" 15 android:layout_weight="2" 16 /> 17 18 <LinearLayout 19 android:orientation="horizontal" 20 android:layout_width="match_parent" 21 android:layout_height="0dp" 22 android:layout_weight="1"> 23 /*省略 ボタンなどが入っています**/ 24</LinearLayout> 25
なぜでしょうか?
TextViewは写真の通りです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/14 07:22