如何在Imageview上找到带有背景的Textview

时间:2015-02-16 14:22:37

标签: android xml android-layout

我试图在图片上找到文字,例如this示例。 我尝试了Merge,FrameLayout,RelativeLayout但是我得到了

  

无法施放错误

我给了layout_weight和height,但它没有解决我的问题。这是我的布局:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#11ffffff"
    android:orientation="vertical" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#F5F5F5"
    android:orientation="vertical"
   >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingLeft="@dimen/feed_item_padding_left_right"
        android:paddingRight="@dimen/feed_item_padding_left_right" >

        <com.android.volley.toolbox.NetworkImageView
            android:id="@+id/profilePic"
            android:layout_width="@dimen/feed_item_profile_pic"
            android:layout_height="@dimen/feed_item_profile_pic"
            android:scaleType="fitCenter" >
        </com.android.volley.toolbox.NetworkImageView>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="@dimen/feed_item_profile_info_padd" >

            <TextView
                android:id="@+id/name"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textSize="@dimen/feed_item_profile_name"
                android:textStyle="bold" />

        </LinearLayout>
    </LinearLayout>

    <TextView
        android:id="@+id/txtStatusMsg"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="5dp"
        android:paddingLeft="@dimen/feed_item_status_pad_left_right"
        android:paddingRight="@dimen/feed_item_status_pad_left_right"
        android:paddingTop="@dimen/feed_item_status_pad_top" />

    <TextView
        android:id="@+id/txtUrl"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:linksClickable="true"
        android:paddingBottom="10dp"
        android:paddingLeft="@dimen/feed_item_status_pad_left_right"
        android:paddingRight="@dimen/feed_item_status_pad_left_right"
        android:textColorLink="@color/link" />



   <LinearLayout 
            android:layout_height="fill_parent"
            android:layout_width="fill_parent" 
            android:layout_weight="1"
            android:gravity="center" 
            android:orientation="vertical">

    <info.androidhive.listviewfeed.FeedImageView
        android:id="@+id/feedImage1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:scaleType="fitXY"
        android:visibility="visible" />

     <TextView
    android:id="@+id/timestamp"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="20dip"
    android:layout_gravity="center_horizontal|bottom"
    android:padding="12dip"
    android:background="#AA000000"
    android:textColor="#ffffffff"
    android:textSize="@dimen/feed_item_timestamp" />
</LinearLayout>
</LinearLayout>

</LinearLayout>

我希望@+id/timestamp找到@+id/feedImage1。这些是listview项目,有些孩子有图像,有些没有。

我必须尽快完成申请作业。我检查几乎所有类似的线程。

E/AndroidRuntime(1236): java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams 

当我做RelativeLayout时,我得到了这个。当我做FrameLayout时,我把它作为FrameLayout $ LayoutParams

1 个答案:

答案 0 :(得分:0)

您是否知道可以使用以下API调用在任何TextView上放置Drawable:setCompoundDrawables()。这允许您将图像放在TextView旁边,而无需特定的布局或其他控件。

http://developer.android.com/reference/android/widget/TextView.html#setCompoundDrawables%28android.graphics.drawable.Drawable,%20android.graphics.drawable.Drawable,%20android.graphics.drawable.Drawable,%20android.graphics.drawable.Drawable%29