我知道layout_weight和其他技巧,但当我的EditText变得太大而无法放在一行上时会出现问题。
假设我有一个复选框,editText和一个箭头imageView,我想要这样的东西,复选框左对齐,箭头右对齐:
* |Some very long text that | >
|wraps |
但是我的EditText会滚动而不是包装。
我愿意使用RelativeLayouts或任何其他布局,我宁愿避免嵌套太多布局。
编辑:我现在的XML如下所示。我已经尝试过使用RelativeLayout但没有成功。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<Checkbox android:id="@+id/left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"/>
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:background="@null"
android:imeOptions="flagNoExtractUi"
android:inputType="textImeMultiLine|textCapSentences"
android:singleLine="false"
android:textColor="@color/dark_gray"
android:textColorHint="@color/medium_gray"
android:layout_weight="1"
android:drawable="@drawable/check/>
<ImageView
android:id="@+id/right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:src="@drawable/arrow" />
</LinearLayout>
答案 0 :(得分:0)
我认为这个想法会起作用:
使用RelativeLayout,将checkBox设置为alignParentLeft,将arrow设置为alignParentRight并在EditText上设置以下属性:
将其宽度设置为match_parent,将height设置为wrap_content,toRightOf checkBox和toLeftOf arrow。
也许这会解决您的问题
我在说这个:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="8dp" >
<Checkbox
android:id="@+id/left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
/>
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/right"
android:layout_toRightOf="@+id/left"
android:inputType="textMultiLine"
/>
<ImageView
android:id="@+id/right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:src="@drawable/ic_launcher" />
</RelativeLayout>