<!--親の顔より見た光景-->

日々の発見を残していきます。

バグ防止

ニコ生に現れた達人リスナーが言っていたこと

 

・コピペ前にコピペ元の動作を確認。

・関数呼び出しの前に関数の動作を確認。

・こまめにコンパイルでエラーチェック。長いプログラムを書いた後だとバグ部分が見つけにくい、時間がかかる。

【LaTeX】画像の挿入

\usepackage{dvipdfmx}[graphicx]

\begin{figure}[h]

  \begin{center}

    \includegraphics[clip, height=5.0cm]{test.png}

    \caption{テスト画像}

  \end{center}

\end{figure}

 

・\begin{figure}[位置指定]

 位置指定に使えるコマンドは、

 ①h 記述した場所に挿入

 ②t ページの上端に挿入

 ③b ページの下端に挿入

 ④p 専用ページを用意して出力

 

・\includegraphics[オプション]{ファイル名}

 オプションに指定出来るコマンドは、

 ①width 幅

 ②height 高さ

 ③scale 拡大・縮小率

 ④angle 回転角

 ⑤clip はみ出しを切り取る

 オプションはカンマ(,)で区切って複数指定できる。

ファイル名は.texが生成される場所に置くと相対パスで済む。

 

以下サイト様より参照

LaTeXコマンド集 - 図の基本

【LaTeX】長い改行を挿入する

現在LaTeXを勉強中である。レイアウトの都合上長い改行を入れたいときは以下のようにしている。

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

りんごは赤い。

\verb| |

\verb| |

\verb| |

\verb| |

\verb| |

ループのミス

List<Integer> blue_coordinate = new ArrayList<Integer>();

blue_coordinateには座標が複数個入っている。この座標から一つだけを取り出したい。

naki_hora_infoに座標を格納したら座標探しは終了するので、break文を入れる。

break文を入れることを忘れて30分ほど悩んだ。

 

for ( int i = 0; i < blue_coordinate.size(); i++ ) {
  if ( blue_coordinate.get( i ) == horizontal_blue_coordinate ) {
    if ( i == 0 ) { // 左端が横向き
      naki_hora_info.naki_shape[naki_shape_count++] = 1;
      break;
    }
    else if ( i == ( blue_coordinate.size() - 1 ) ) { // 右端が横向き
      naki_hora_info.naki_shape[naki_shape_count++] = 2;
      break;
    }
    else if ( i == ( blue_coordinate.size() - 2 ) ) { // 真ん中が横向き
      naki_hora_info.naki_shape[naki_shape_count++] = 3;
      break;
    }

  }

}

ImageViewで動的にmarginを設定

xmlではなくJavaコードでImageViewの余白を動的に設定する方法。

android - How to set margin of ImageView using code, not xml - Stack Overflow

StackOverflowで解決。

 

ImageView image_view = ( ImageView )findViewById( R.id.test_image );

// ImageViewの大きさを設定
LinearLayout.LayoutParams layout_params = new LinearLayout.LayoutParams( width, height );
layout_params.setMargins( left, top, right, bottom );    // marginを設ける
image_view.setLayoutParams( layout_params );    // ImageViewのレイアウトを登録

【Android】marginとpadding

Androidでレイアウトを構築する際、余白を作りたいときに使えるタグにmarginとpaddingがある。

 

xmlでの指定

<ImageView

    android:layout_marginRight = "5dp"  />

<ImageView

    android:paddingLeft = "5dp"  />

 

ImageViewの場合・・・

・marginだとレイアウトを引き伸ばしてくれる。 → 画像のサイズに変化なし

・paddingはレイアウトが指定した数だけ小さくなる。 → 画像のサイズが小さくなる。

xmlでのViewの定義

副露数に応じて結果表示画面を変更したかった。

Javaファイルによるレイアウト作成は慣れていなかったのでxmlファイルを複数作った。その際に、Viewに付けるidを他のxmlファイルで定義したidと同じ名前にしてしまった。

これが原因でコンパイル時に「見つかりません」と言われたり、実行できたり、Javaコンパイラが混乱していた。

 

問題のxmlファイルを削除、プロジェクトをクリーンで解決。