2017-06-04 34 views
-2

我正在使用Android工作室,并在xml中显示类似Facebook中的评论。我的问题是,其中一个按钮comment_more_options按钮并未显示在我的实际设备运行中,在Android Studio提供的模拟器上,但在我的xml预览中显示。但是,当我点击按钮的位置时,在应用程序运行中,附加到它的菜单显示正常。我究竟做错了什么?图片按钮不显示,点击正在工作

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="0" 
     android:orientation="horizontal"> 

     <ImageView 
      android:id="@+id/comment_profile_picture" 
      android:layout_width="40sp" 
      android:layout_height="40sp" 
      android:layout_gravity="left|center_vertical" 
      android:layout_margin="12dp" 
      android:layout_weight="0.26" 
      app:srcCompat="@mipmap/ic_launcher" /> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:orientation="vertical"> 

      <TextView 
       android:id="@+id/comment_displayName" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left|center_vertical" 
       android:layout_margin="4dp" 
       android:layout_weight="1" 
       android:gravity="bottom|left" 
       android:text="Display Name" 
       android:textAppearance="@android:style/TextAppearance.Material.Menu" /> 

      <TextView 
       android:id="@+id/comment_handle" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left|center_vertical" 
       android:layout_marginBottom="6dp" 
       android:layout_marginLeft="8dp" 
       android:layout_marginRight="6dp" 
       android:layout_marginTop="2dp" 
       android:layout_weight="1" 
       android:gravity="top|left" 
       android:text="Handle" /> 

     </LinearLayout> 

     <ImageButton 
      android:id="@+id/comment_more_options" 
      android:layout_width="32dp" 
      android:layout_height="32dp" 
      android:layout_gravity="left" 
      android:layout_margin="1dp" 
      android:layout_weight="0.50" 
      android:background="@android:color/transparent" 
      android:visibility="visible" 
      app:srcCompat="@drawable/ic_more_vert_black_24dp" /> 

    </LinearLayout> 

    <TextView 
     android:id="@+id/comment_content" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="0" 
     android:text="@string/enter_comment" 
     android:textSize="18sp" /> 

</LinearLayout> 

回答

1

#。将属性android:weightSum="1.76"添加到子项LinearLayout

#。而不是使用app:srcCompat="@drawable/ic_more_vert_black_24dp",请使用属性android:src="@drawable/ic_more_vert_black_24dp"

试试这个:

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:weightSum="1.76"> 

     <ImageView 
      android:id="@+id/comment_profile_picture" 
      android:layout_width="40sp" 
      android:layout_height="40sp" 
      android:layout_gravity="left|center_vertical" 
      android:layout_margin="12dp" 
      android:layout_weight="0.26" 
      android:src="@mipmap/ic_launcher" /> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:orientation="vertical"> 

      <TextView 
       android:id="@+id/comment_displayName" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left|center_vertical" 
       android:layout_margin="4dp" 
       android:layout_weight="1" 
       android:gravity="bottom|left" 
       android:text="Display Name" 
       android:textAppearance="@android:style/TextAppearance.Material.Menu" /> 

      <TextView 
       android:id="@+id/comment_handle" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left|center_vertical" 
       android:layout_marginBottom="6dp" 
       android:layout_marginLeft="8dp" 
       android:layout_marginRight="6dp" 
       android:layout_marginTop="2dp" 
       android:layout_weight="1" 
       android:gravity="top|left" 
       android:text="Handle" /> 

     </LinearLayout> 

     <ImageButton 
      android:id="@+id/comment_more_options" 
      android:layout_width="32dp" 
      android:layout_height="32dp" 
      android:layout_gravity="left" 
      android:layout_margin="1dp" 
      android:layout_weight="0.50" 
      android:background="@android:color/transparent" 
      android:visibility="visible" 
      android:src="@drawable/ic_more_vert_black_24dp" /> 

    </LinearLayout> 

    <TextView 
     android:id="@+id/comment_content" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="0" 
     android:text="Enter Comment" 
     android:textSize="18sp" /> 

</LinearLayout> 

您还可以使用RelativeLayout。这里有一个例子:

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

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <ImageView 
      android:id="@+id/comment_profile_picture" 
      android:layout_width="40sp" 
      android:layout_height="40sp" 
      android:layout_alignParentLeft="true" 
      android:layout_centerVertical="true" 
      android:layout_margin="12dp" 
      android:src="@mipmap/ic_launcher" /> 

     <ImageButton 
      android:id="@+id/comment_more_options" 
      android:layout_width="32dp" 
      android:layout_height="32dp" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:layout_marginRight="8dp" 
      android:background="@android:color/transparent" 
      android:visibility="visible" 
      android:src="@drawable/ic_camera" /> 

     <LinearLayout 
      android:id="@+id/layout_middle" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_toRightOf="@+id/comment_profile_picture" 
      android:layout_toLeftOf="@+id/comment_more_options" 
      android:layout_marginLeft="8dp" 
      android:layout_marginRight="8dp" 
      android:layout_centerVertical="true"> 

      <TextView 
       android:id="@+id/comment_displayName" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="Display Name" 
       android:textAppearance="@android:style/TextAppearance.Material.Menu" /> 

      <TextView 
       android:id="@+id/comment_handle" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="left|center_vertical" 
       android:layout_marginTop="2dp" 
       android:text="Handle" /> 

     </LinearLayout> 
    </RelativeLayout> 

    <TextView 
     android:id="@+id/comment_content" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="8dp" 
     android:text="Enter Comment" 
     android:textSize="18sp" /> 

</LinearLayout> 

OUTPUT:

enter image description here

希望这将有助于〜

0

用这个代替:

机器人:SRC =” @ drawable/ic_more_vert_black_24dp“

并确保您的图标颜色与背景不同。