4

幅に合わせて x 軸で繰り返したい画像があります。

繰り返しセクションヘッダー.xml :

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/table_section_header_light"
    android:tileMode="repeat" />

ここまでは順調ですね。これを背景として設定しましたTextView

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/row_headline_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/repeating_section_header"
    android:gravity="left|center_vertical"
    android:textColor="@color/white"
    android:textSize="14sp" 
    android:textStyle="bold"/>

しかし、TextViews の高さを@drawable/table_section_header_lightに設定したとしても、TextViews の高さは の高さになりwrap_contentます。

それを修正する方法(TextViewsの高さをコンテンツをラップするようにする)

4

2 に答える 2

0

このテクニックに問題がなければ、試してみてください。

  1. TextView を RelativeLayout にラップします。
  2. この RelativeLayout の最初の子として View を追加します。(TextView を 2 番目の子にします)
  3. 背景を TextView からこの新しいビューに削除します
  4. TextView のレイアウト パラメータ (AlignLeft、AlignRight、AlignTop、AlignBottom) を次のように設定します。@+id/row_headline_text

これはうまくいくはずです。TextView の親が既に RelativeLayout である場合、新しい RelativeLayout は必要ありません。

于 2013-09-23T23:11:26.463 に答える
0

これを行う 1 つの方法は、テキストのみでテキストビューの高さをプログラムで決定し、高さを固定し、背景のドローアブルを設定することです。このようにして、使用される行数に応じてテキストビューの高さに調整されます。

ジャワ:

TextView v = (TextView) findViewById(R.id.row_headline_text);
v.setText("<your text here>");
v.measure(android.view.View.MeasureSpec.UNSPECIFIED, android.view.View.MeasureSpec.UNSPECIFIED);

android.view.ViewGroup.LayoutParams params = v.getLayoutParams();
params.height = v.getMeasuredHeight();
v.setLayoutParams(params);
v.setBackgroundResource(R.drawable.table_section_header_light);

xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/row_headline_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="left|center_vertical"
    android:textColor="@color/white"
    android:textSize="14sp"
    android:textStyle="bold" />
于 2013-09-23T16:08:43.397 に答える