5

Web ページに固有のレイアウトを作成する必要があり、その下に画像とテキストが残っている Web 記事のように見える必要があります。画像を見てください。

これは Web の世界では簡単なことですが、XML レイアウトで行う方法がわかりません。

明らかに、TextView画像が存在する間は左側にある必要があり、画像の下部に達した後は、画面の幅に合わせて拡大する必要があります。これを 2 つ (1 つは左用、もう 1 つは下用) で試しましTextViewsたが、テキストのフォント サイズが原因で正しく表示されません。


編集

また、画像の高さを動的にキャッチしてTextViewに割り当て、これら2つの要素の下に画面のサイズで別のTextViewを作成しようとしました。最初のTextViewの高さが制限されているために表示されないテキストを制御できないため、これは機能しません。

4

3 に答える 3

1

まだ答えが見つからない場合。これは、回答されているのと同じ種類の質問です。

ImageViewの周りにTextViewを配置する方法は?

あなたのケースで変更しなければならない唯一のことは、配置を反対にすることです。

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp">
<TextView
    android:textSize="18.0sp"
    android:id="@+id/message_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/text" />
<ImageView 
    android:src="@drawable/icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/message_view"
    android:id="@+id/icon" />

ここから撮影すると、

http://dev.androidteam.ru/snippets/textview/leadingmarginspan2

于 2012-07-16T05:07:55.467 に答える
0

このようにレイアウトを使用する

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="21dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/imageView1"
        android:layout_marginLeft="30dp"
        android:textColor="#fff"
        android:text="TextView" />

</RelativeLayout>

<RelativeLayout
    android:id="@+id/relativeLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="30dp"
        android:text="TextViewaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
        android:layout_alignBottom="@+id/textView1"></TextView>

</RelativeLayout>

そしてコードを追加します

   TextView tv1=(TextView)findViewById(R.id.textView1);
   tv1.setMaxHeight(maxHeight);

ここで、maxHeight は imageview の高さを動的に取得します

textview1 の高さを取得して条件を設定し、テキストを 2 番目の textview に割り当てます。

それはあなたを助けるかもしれません

ここに画像の説明を入力 このように私は正しいですか?

于 2012-04-05T07:46:14.610 に答える
0

これをチェックしてください。それはあなたが望むのと同じです

<?xml version="1.0" encoding="utf-8"?>

android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:text="TextView" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="fill_parent"
            android:layout_marginTop="5dp"
            android:background="#FFFFFF"
            android:layout_height="wrap_content"
            android:text="TextView" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="fill_parent"
            android:background="#FFFFFF"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:text="TextView" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:layout_marginTop="5dp"
            android:text="TextView" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="wrap_content"

        android:gravity="center"
        android:layout_height="match_parent" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:background="#FFFFFF" />

    </LinearLayout>

</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView5"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF"
        android:text="TextView" />
    <TextView
        android:id="@+id/textView6"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="#FFFFFF"
        android:text="TextView" />
    <TextView
        android:id="@+id/textView7"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="#FFFFFF"
        android:text="TextView" />
    <TextView
        android:id="@+id/textView8"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="#FFFFFF"
        android:text="TextView" />
    <TextView
        android:id="@+id/textView9"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="#FFFFFF"
        android:text="TextView" />

</LinearLayout>
</LinearLayout>
于 2012-04-04T12:34:08.370 に答える