0
私のアプリでは、テキストビューのバックグラウンドとして4つの空白の八角形を使用したかったのです。相対レイアウトとマージンを使って、正しい場所にテキストビューを配置しました。問題は、私が働いていたデバイス(1020x1980)以外のデバイスでは、テキストビューが中央から外れていることです。ですから、これを修正する唯一の方法は、dimens.xmlファイルのデバイス(ldpi、mdpi、hdpi、xhdpiなど)によって異なるマージン値を設定することです。テキストビューのバックグラウンドアイコンアセットにテキストビューを配置する
コード。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:background="@drawable/list_background"
android:minHeight="?android:attr/listPreferredItemHeight">
<!--Info for the octagon icons-->
<TextView
android:layout_width="83dp"
android:layout_height="44dp"
android:textColor="@color/orange_a400"
android:layout_marginLeft="53dp"
android:layout_marginTop="25dp"
android:textStyle="bold"
android:textSize="13sp"
android:text="Aug 24"
android:id="@+id/date" />
<TextView
android:layout_width="45dp"
android:layout_height="wrap_content"
android:layout_marginTop="62dp"
android:layout_marginLeft="15dp"
android:textColor="@color/orange_a400"
android:textStyle="bold"
android:gravity="center"
android:text="105"
android:textSize="20sp"
android:id="@+id/sessionID"
/>
<TextView
android:layout_width="45dp"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:layout_toRightOf="@+id/sessionID"
android:layout_alignTop="@id/sessionID"
android:textColor="@color/orange_a400"
android:gravity="center"
android:textStyle="bold"
android:text="185"
android:textSize="20sp"
android:id="@+id/user_weight"
/>
レイアウトコンテナになるように各八角形を設計し、その中に 'TextView'を配置します。 – Shaishav
これは本当に反パターンです。独自の八角形の背景を持つ4つのtextViewを使用し、相対的な配置を使用する必要があります。 –
@Shaishav ...別のレイアウト?どうして?レイアウトを入れ子にすることは、パフォーマンスに悪い**です。 TextViewsは独自の背景を持つことができます。余分なレイアウトの必要はありません... –