相对布局中ImageView背后的线性布局

时间:2017-10-10 11:23:31

标签: android android-layout android-linearlayout android-relativelayout

让我解释一下,我有一个像这样的xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="wrap_content">
    <ImageView
      android:id="@+id/imgCircle"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/img_circle" />
    <LinearLayout
      android:id="@+id/llFirstScreen"
       android:layout_alignTop="@id/imgCircle"
       android:layout_alignBottom="@id/imgCircle"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_toRightOf="@id/imgCircle"
       android:layout_toEndOf="@id/imgCircle"
       android:background="@drawable/layout_view_round_corner"
       android:orientation="vertical">
    <TextView
       android:id="@+id/mapCurrentLocation"
       android:layout_width="match_parent"
       android:layout_height="0dp"
       android:layout_weight="1"
       android:text="TextView1"
       android:textColor="@color/lblTextColor"
       android:textSize="@dimen/lblTextLarge"
       android:textStyle="normal" >
    </TextView>
    <TextView
       android:layout_width="match_parent"
       android:layout_height="0dp"
       android:layout_weight="1"
       android:text="TextView2"
       android:textColor="@color/lblHintColor2"
       android:textSize="@dimen/lblTextMedium"
       android:textStyle="normal" >
    </TextView>
   </LinearLayout>
 </RelativeLayout>

这给了我旁边的Image和TextViews

Layout i currently have

但我想完成类似的事情

Layout i would like to have

TextView Background在圆角图像的一半(在它后面)被扩展(可能是填充),因此它看起来像是图像的“部分”。或者我正在考虑在TextView后面创建一个带有背景白色的视图,以便它看起来那样。但是想在这里问一下,如果有更好的方法可以做到这一点。

我希望我能解释清楚这一点(这就是我添加图片的原因)。

2 个答案:

答案 0 :(得分:1)

我尝试将demo与xml文件一起使用,您可以查看下面的代码。我必须给出String str = "hello My name is"; String str2 = "viral"; for (char c : str.toCharArray()) { for (char d : str2.toCharArray()) { if (c == d) { str2 = str2.replace(d, ';'); } } } str2 = str2.replaceAll(";", ""); 的静态高度和宽度才能达到结果。

ImageView

答案 1 :(得分:0)

试试这些: 第一个解决方案:改变这个

<LinearLayout
      android:id="@+id/llFirstScreen"
       android:layout_alignTop="@id/imgCircle"
       android:layout_alignBottom="@id/imgCircle"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_toRightOf="@id/imgCircle"
       android:layout_toEndOf="@id/imgCircle"
       android:background="@drawable/layout_view_round_corner"
       android:orientation="vertical">

到此:

<LinearLayout
      android:id="@+id/llFirstScreen"
       android:layout_alignTop="@id/imgCircle"
       android:layout_alignBottom="@id/imgCircle"
       android:layout_width="match_parent"
       android:layout_marginLeft="20dp" // or just figure your image width and set this programatically
       android:layout_height="wrap_content"
       android:background="@drawable/layout_view_round_corner"
       android:orientation="vertical">

第二个解决方案:使用AbsoluteLayout,这有点难以处理。