下拉列表附带左右边距,即使我没有在下拉列表项目布局中设置边距。我希望它与autocompletetextview的宽度相匹配。我怎样才能做到这一点?
这是我的AutoCompleteTextView xml代码:
<LinearLayout
android:id="@+id/headerlogo"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="0dp"
android:layout_weight="1"
android:clickable="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="9" >
<AutoCompleteTextView
android:id="@+id/autocomplete_name"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="7"
android:background="@drawable/edittextback"
android:ems="10"
android:textSize="15sp"
android:hint="@string/codehint"
android:textColorHint="@color/hintgrey"
android:paddingRight="30dp"
android:paddingLeft="10dp"
android:singleLine="true"
android:ellipsize="end"
android:completionThreshold="1">
</AutoCompleteTextView>
<Button
android:id="@+id/btnsearch"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="2"
android:background="@drawable/buttondarkblue"
android:text="X"
android:textColor="@color/white" />
</LinearLayout>
下拉列表的项目布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<TextView
android:id="@+id/route"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="15sp"
android:singleLine="true"
android:ellipsize="end"
android:padding="5dp"
android:textColor="@color/loginblue"
android:text="ASD"></TextView>
</LinearLayout>
答案 0 :(得分:0)
我不知道,你得到了答案。但可能有帮助。
如果为自定义适配器中的下拉列表分配布局,并为根视图设置TextView或填充的边距(例如,LinearLayout),则它不起作用。我做了如下:
我为style.xml文件中的下拉列表设置了背景:
<item name="android:popupBackground">@drawable/dropdown_list_bg</item>
然后在dropdown_list_bg.xml文件中我写了这些行:
<item android:right="1dip" android:left="1dip">
<shape>
<solid android:color="@color/dropdownListBg"/>
<corners android:radius="@dimen/corner"/>
</shape>
</item>
正如您所看到的,我将“填充正确”和“填充左侧”与“设置为:”和“ android:在drawable xml文件中保留“属性。
答案 1 :(得分:0)
您可以使用2种方法 setDropDownHorizontalOffset(int)和setDropDownWidth(int)
例如,您可以执行以下操作以匹配autocompletetextview:
input.setDropDownHorizontalOffset(0)
input.setDropDownWidth(input.getWidth())
FYI 1st方法可以使用负值。因此,您可以设置更多自动完成文本视图宽度的下拉布局宽度:
int offset = 64
input.setDropDownHorizontalOffset(-1 * offset)
input.setDropDownWidth(input.getWidth() + offset * 2)