_________________
| test |
| ______ |
|_____| |____|
|______|
这就是我想要的......更大的盒子是用drawable制作的,里面有一个edittext。较小的框应该是带有上传图标的图像视图。
如果edittext中没有任何内容,则imageview将为GONE(不可见)
_________________
| |
|_________________|
所以当图标可见时,我需要增加更大的盒子的宽度。更大的盒子也有一个笔划。
到目前为止,我这样做了
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="27dp"
android:paddingEnd="27dp"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:alpha=".5"
android:background="@drawable/commenting_drawable">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="say something"
android:id="@+id/comments_editText"
android:textColor="@color/white"
android:textColorHint="@color/white_75"
android:fontFamily="sans-serif"
android:textSize="13sp"
android:textCursorDrawable="@null"
android:background="@color/transparent"
android:layout_centerInParent="true"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="35dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/icn_uploadcomment"
android:src="@drawable/black_circle_25"/>
</RelativeLayout>
</FrameLayout>
这是我的可绘制的
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#ff7c00" />
<stroke
android:width="1dp"
android:color="@color/white"/>
<corners
android:topLeftRadius="5dp"
android:topRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"/>
</shape>
所以基本上我想将一半的imagewiew放在更大的盒子里,我希望当图像视图变得可见时,让更大的盒子自行调整。
答案 0 :(得分:1)
您可以缩小图像相对布局的上边距大小,使其重叠。由于您可能已经有代码来操作布局,因为您使图像视图可见且不可见,更改大框的大小的最简单方法(IMO)将是按如下方式调整填充:
RelativeLayout layout = (RelativeLayout) findViewById(R.id.biggerBox);
layout.setPadding(left, top, right, bottom);
left, top, right, bottom
将是更改大盒子大小所需的填充。 (您还需要为更大的盒子提供ID。)
答案 1 :(得分:0)
我能够通过为xml中较小的框提供-ve margin来找到上述问题的解决方案
<EditText
android:id="@+id/comment_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/text_comment_style"
android:paddingBottom="32dp" />
<ImageView
android:id="@+id/comment_recorder_button"
android:layout_width="@dimen/progress_comment_recorder_diameter"
android:layout_height="@dimen/progress_comment_recorder_diameter"
android:layout_centerHorizontal="true"
android:layout_marginTop="-20dp"
android:layout_below="@+id/comment_text"/>