0

私は内部RelativeLayoutを持つRelativeLayoutを持っています。これには、左側にTextView、右側にImageButton(星)が含まれています。ImageButtonオーバーラップ問題

The whole layout

あなたは、私がのImageButtonのタグlayout_alignEndとlayout_alignRightを設定していますが、のImageButtonがテキストをoverlapps見ることができるように。

これは私の内側のRelativeLayoutです:

<RelativeLayout 
    android:id="@+id/layout_question" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/toolbar" 
    android:layout_toEndOf="@+id/tv_topic" 
    android:layout_toRightOf="@+id/tv_topic" 
    android:gravity="top" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/tv_question" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:padding="5dp" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:textStyle="bold"/> 

    <ImageButton 
     android:id="@+id/bt_favorite" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignEnd="@+id/tv_question" 
     android:layout_alignRight="@+id/tv_question" 
     android:background="#00ffffff" 
     android:src="@drawable/star"/> 
</RelativeLayout> 

私はテキストはのImageButtonの左側に常にあるとのImageButtonがテキストをoverlappsないことをことを達成したいです。

ここで問題は何ですか?

+0

イメージボタンで 'android:layout_alignBottom =" @ + id/tv_question "を使用してください – knownUnknown

答えて

1

ただ、ただ、線形に相対してください、とに応じて重みを調整し、この

<RelativeLayout 
    android:id="@+id/layout_question" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/toolbar" 
    android:layout_toEndOf="@+id/tv_topic" 
    android:layout_toRightOf="@+id/tv_topic" 
    android:gravity="top" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/tv_question" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_toLeftOf="@+id/bt_favorite" 
     android:padding="5dp" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:textStyle="bold"/> 

    <ImageButton 
     android:id="@+id/bt_favorite" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:background="#00ffffff" 
     android:src="@drawable/star"/> 
</RelativeLayout> 
+0

ありがとうございます。これは問題を解決しました –

1

を試してみてくださいあなたはImageView

android:layout_alignParentRight="true" 

layout_alignParentRightプロパティを使用TextView

android:layout_toLeftOf="@+id/bt_favorite" 

layout_toLeftOfプロパティを使用しますあなたの必要。

<LinearLayout 
     android:id="@+id/layout_question" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="top" 
     android:orientation="horizontal" 
     android:weightSum="6"> 

     <TextView 
      android:id="@+id/tv_question" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:padding="5dp" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textStyle="bold" 
      android:layout_weight="5"/> 

     <ImageButton 
      android:id="@+id/bt_favorite" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_alignEnd="@+id/tv_question" 
      android:layout_alignRight="@+id/tv_question" 
      android:background="#00ffffff" 
      android:src="@mipmap/ic_launcher" 
      android:layout_weight="1"/> 
    </LinearLayout> 
1

は基本的に、あなたはその幅がmatch_parentある原因 android:layout_alignParentLeft="true" にあなたのTextView(tv_question)のセットアップに必要いけません。ですから、あなたのtextviewをあなたのイメージビューの隣に置くことを望むなら、これをしてください。 、オリエンテーション:アンドロイド - は、まず、あなたのImageViewのの位置を固定するのは言わせ、右揃え、その後、TextViewにはちょうどImageViewの

ついに
<ImageButton 
    android:id="@+id/bt_favorite" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:background="#00ffffff" 
    android:src="@drawable/star"/> 
<TextView 
    android:id="@+id/tv_question" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_toLeftOf="@+id/bt_favorite" 
    android:padding="5dp" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textStyle="bold"/> 

の側に残されてみましょう、あなたはRelativeLayoutのATTRを設定する必要がいけませんそれは動作しません。 これを試してください、それは動作するはずです。

関連する問題