我正在尝试弄清楚如何在EditText小部件中嵌入其他而不是Drawables。具体来说,我想到的例子来自Google Buzz小部件:
screenshot (没有内嵌图片,抱歉,我是新手)
在不经意的观察者看来,整个布局对象固定在EditText的底部,包含ImageView,TextView和Button。
任何人都知道如何解决这个问题?或者我们认为这是EditText的自定义子类?
答案 0 :(得分:15)
EditText + Button + ...它是一个FrameLayout,其EditText带有fill_parent,Buttons带有layout_gravitiy:“bottom”。像这样:
<?xml version="1.0" encoding="utf-8"?> <!-- Main Layout (may be relative or whatever --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- Layout for edittext and button -->
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:lines="5"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="5dip"
android:text="Overflow"/>
</FrameLayout>
<!-- More layouts ..... --> </RelativeLayout>
答案 1 :(得分:1)
你可以在EditText中使用框架布局嵌入Button,这里我给EditText中嵌入TextView的示例代码,只需将TextView更改为Button
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="40px"
android:layout_y="35px"
>
<EditText android:id="@+id/twt_post_content" android:layout_gravity="center_vertical"
android:layout_width="320dp" android:layout_height="140dp"
android:paddingTop="5dp" android:imeOptions="actionDone"
android:gravity="left" android:focusableInTouchMode="true"
android:maxLength="140" android:ellipsize="end" />
<TextView
android:text="123"
android:paddingLeft="270dp"
android:paddingTop="100dp"
android:layout_alignParentRight="true"
android:id="@+id/twt_content_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/red"
android:layout_gravity="center"
android:background="@color/transparent"/>
</FrameLayout>
答案 2 :(得分:0)
我认为他们在这里所做的是为他们的布局创建一个看起来像EditText的背景。然后他们添加了一个关闭背景的EditText并来了Buttons。