2017-04-17 10 views
0

CardViewの右隅にオプションメニュー(3ドット)を追加します。 問題は、TextViewが終了したときに追加されていることです。右に5dpの余白を付けて画面の右側から追加したいと思います。画面の右側にImageButtonを追加します

どのようなアイデアをどのように各カードビュー内の画面の右側にImageButtonを追加できますか?

 <ImageButton 
      android:id="@+id/imageButton" 
      android:layout_width="20dp" 
      android:layout_height="30dp" 
      android:src="@mipmap/ic_dots_vertical_black_18dp" 
      android:contentDescription="..." 
      android:background="@null" 
      android:visibility="gone" 
      android:layout_gravity="right" /> 

私の完全なXML:

<?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:background="#fff"> 

    <android.support.v7.widget.CardView 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     card_view:cardCornerRadius="0dp" 
     android:id="@+id/card_view" 
     android:layout_marginBottom="0dp" 
     android:layout_marginEnd="0dp" 
     android:layout_marginLeft="0dp" 
     android:layout_marginRight="0dp" 
     android:layout_marginStart="0dp" 
     android:layout_marginTop="0dp"> 

     <LinearLayout 
      android:padding="@dimen/activity_horizontal_margin" 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" > 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:orientation="horizontal" > 

       <ImageView 
        android:layout_width="50dp" 
        android:layout_height="50dp" 
        android:padding="0dp" 
        android:id="@+id/ProfilePic" 
        android:paddingBottom="20dp" 
        android:adjustViewBounds="true" /> 

       <TextView 
        android:id="@+id/textViewUser" 
        android:textStyle="bold" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:paddingLeft="10dp" 
        android:paddingBottom="20dp" 
        /> 

       <ImageButton 
        android:id="@+id/imageButton" 
        android:layout_width="20dp" 
        android:layout_height="30dp" 
        android:src="@mipmap/ic_dots_vertical_black_18dp" 
        android:contentDescription="..." 
        android:background="@null" 
        android:visibility="gone" 
        android:layout_gravity="right" /> 

      </LinearLayout> 
       </LinearLayout> 



    </android.support.v7.widget.CardView> 

</RelativeLayout> 

答えて

1

あなたは1の重量のTextView与えることができる:

android:layout_weight="1" 

または単に入れ、その後、あなたの左/右ボタンを配置する相対レイアウトを使用します真ん中のテキストビュー。

+0

はあなたに感謝役立つことを願っています。アンドロイド:layout_centerHorizo​​ntal = "true"を削除する必要があります。 –

0

また、これを試すことができます:

<?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:background="#fff"> 

    <android.support.v7.widget.CardView 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     card_view:cardCornerRadius="0dp" 
     android:id="@+id/card_view" 
     android:layout_marginBottom="0dp" 
     android:layout_marginEnd="0dp" 
     android:layout_marginLeft="0dp" 
     android:layout_marginRight="0dp" 
     android:layout_marginStart="0dp" 
     android:layout_marginTop="0dp"> 

     <RelativeLayout 
      android:padding="@dimen/activity_horizontal_margin" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <ImageView 
       android:layout_width="50dp" 
       android:layout_height="50dp" 
       android:id="@+id/ProfilePic" 
       android:src="@mipmap/ic_launcher"/> 

      <ImageButton 
       android:id="@+id/imageButton" 
       android:layout_width="20dp" 
       android:layout_height="30dp" 
       android:src="@mipmap/ic_launcher" 
       android:contentDescription="..." 
       android:background="@null" 
       android:visibility="visible" 
       android:layout_alignParentRight="true"/> 

      <TextView 
       android:id="@+id/textViewUser" 
       android:textStyle="bold" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@id/ProfilePic" 
       android:layout_toLeftOf="@id/imageButton" 
       android:paddingLeft="16dp" 
       android:paddingRight="5dp" 
       android:paddingBottom="20dp" 
       android:text="This is a sample text"/> 

     </RelativeLayout> 
    </android.support.v7.widget.CardView> 
</RelativeLayout> 

OUTPUT:

enter image description here

を、これは〜

関連する問題