このスクリーンショットに示されているのとまったく同じように、画像付きの4つのテキストを表示したい:
画像の下部にある 4 つのテキストと、その横にあるアイコンに注目してください。
私の質問は、どのように行うか、つまり、各テキスト フィールドにアイコンを付けて、ページの下部に対称的に表示する方法です。
この例のように、アイコンを使用してテキストを配置したいと考えています。
助けてくれてありがとう、それは初心者にとって本当に素晴らしい練習です:)
ドヴィル
drawableLeft
これに使用
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/icon_1"
android:gravity="center_vertical"
android:textStyle="bold"
android:textSize="24dip"
android:maxLines="1"
/>
また
Java コードで
TextView textView = (TextView) findViewById(R.id.yourTV);
textView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon_1, 0, 0, 0);
これを実装するための理想的なアプローチは次のとおりです。
textView.setCompoundDrawables(getDrawable(R.drawable.image), 15), null, null, null);
以下の関数もコードに追加します。
public Drawable getDrawable(int drawable, float form_factor) {
Drawable top = getApplicationContext().getResources().getDrawable(drawable);
top.setBounds(0, 0, (int)form_factor, (int)form_factor);
return top;
}
このようにして、テキストアイコンを適切に設定/選択/サイズ変更できます(フォームファクターの値を調整することにより) 。これは xml を介して行う場合には不可能です。
注:上記の関数は、正方形のドローアブルに対して記述しましたが、長方形の画像に対しては、それに応じて行う必要がありますsetBounds
。
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text"
android:layout_weight="1"
android:drawableLeft="@drawable/icon"
android:gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text"
android:layout_weight="1"
android:drawableLeft="@drawable/icon"
android:gravity="center_horizontal"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text"
android:layout_weight="1"
android:drawableLeft="@drawable/icon"
android:gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text"
android:layout_weight="1"
android:drawableLeft="@drawable/icon"
android:gravity="center_horizontal"/>
</LinearLayout>
</LinearLayout>
を使用するだけでTextView
、たとえばandroid:drawableLeft="@drawable/your_icon"
、アイコンが必要な場所に応じて左/右を使用します。