大文字正在回归Imageview

时间:2017-07-07 07:49:59

标签: android android-layout listview

enter image description here

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <ImageView
        android:src="@android:drawable/ic_menu_gallery"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:id="@+id/Chartimg"
        android:layout_margin="5dp"
        android:padding="5dp" />
     <TextView
        android:text="Medium Textcbvvvccgcvcvcbcvbvvbcvbvcbvcb"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/Chartimg"
        android:id="@+id/InfoView_ItemName"
        android:layout_centerVertical="true"
        android:ellipsize="end"
        android:maxLines="1" />        <TextView
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/Chartimg"
        android:id="@+id/IvItemID"
        android:layout_below="@id/InfoView_ItemName" />
    <ImageView
        android:layout_width="30dp"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_action_next_item"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:scaleType="centerInside" />
</RelativeLayout>
 </FrameLayout>

当listview项目有大文本时,我正在创建litview,它将返回到此处的图像视图我发布了我的代码。请给我任何解决方案,但

5 个答案:

答案 0 :(得分:2)

您应该使用 android:layout_toLeftOf

  

将此视图的右边缘定位在给定锚点的左侧   查看ID。容纳此视图的右边距和左边距   锚视图。

答案 1 :(得分:1)

试试这个,给像imageview这样的一些id:android:id =“@ + id / right_icon”和textview中的layout_toLeftOf它会正常工作

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

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

        <ImageView
            android:id="@+id/Chartimg"
            android:layout_width="50dip"
            android:layout_height="50dip"
            android:layout_margin="5dp"
            android:padding="5dp"
            android:src="@android:drawable/ic_menu_gallery"/>

        <TextView
            android:id="@+id/InfoView_ItemName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_toRightOf="@id/Chartimg"
            android:layout_toLeftOf="@+id/right_icon"
            android:ellipsize="end"
            android:maxLines="1"
            android:text="Medium Textcbvvvccgcvcvcbcvbvvbcvbvcbvcb"
            android:textAppearance="?android:attr/textAppearanceMedium"/>

        <TextView
            android:id="@+id/IvItemID"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/InfoView_ItemName"
            android:layout_toRightOf="@id/Chartimg"
            android:paddingRight="5dp"
            android:textAppearance="?android:attr/textAppearanceSmall"/>

        <ImageView
            android:id="@+id/right_icon"
            android:layout_width="30dp"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:scaleType="centerInside"
            android:src="@drawable/ic_android_black_24dp"/>
    </RelativeLayout>
</FrameLayout>

答案 2 :(得分:1)

您应该对齐该图像视图左侧的文本

即 首先为图像视图提供id

<ImageView
        android:layout_width="30dp"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_action_next_item"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:id="@+id/iv_arrow"
        android:scaleType="centerInside" />

然后将此id添加到文本视图中,并将make text视图添加到图像视图的左侧,即

<TextView
        android:text="Medium Textcbvvvccgcvcvcbcvbvvbcvbvcbvcb"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/Chartimg"
        android:layout_toLeftOf="@id/iv_arrow"
        android:id="@+id/InfoView_ItemName"
        android:layout_centerVertical="true"
        android:ellipsize="end"
        android:maxLines="1" />

如果您有任何疑问,请询问

答案 3 :(得分:1)

使用LinearLayout的{​​{1}}个不对,因为在RelativeLayout中,您可以通过LinearLayout划分其子视图。

尝试将您的代码更改为:

layout_weight

答案 4 :(得分:0)

我认为你应该使用水平定向的线性布局 并设置textview的权重以填充父级:

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <ImageView
        android:src="@android:drawable/ic_menu_gallery"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:id="@+id/Chartimg"
        android:layout_margin="5dp"
        android:padding="5dp" />
     <TextView
        android:text="Medium Textcbvvvccgcvcvcbcvbvvbcvbvcbvcb"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/Chartimg"
        android:id="@+id/InfoView_ItemName"
        android:layout_centerVertical="true"
        android:ellipsize="end"
        android:maxLines="1" />        
       <TextView
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/Chartimg"
        android:id="@+id/IvItemID"
        android:layout_below="@id/InfoView_ItemName" />
    <ImageView
        android:layout_width="30dp"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_action_next_item"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:scaleType="centerInside" />
</LinearLayout>