#android #android-layout #spinner
#Android #android-layout #счетчик
Вопрос:
Я использую счетчик в диалоговом окне activity with Theme. Я не могу заставить блесны заполнять родительскую ширину — они всегда имеют длину только текста — независимо от того, что я делаю. это мое определение макета.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical">
<LinearLayout android:id="@ id/weight_units"
android:layout_width="match_parent" android:gravity="top|center_vertical|center_horizontal"
android:orientation="horizontal" android:layout_marginBottom="3dip" android:layout_marginTop="3dip" android:layout_height="wrap_content">
<TextView android:layout_marginRight="3dip" android:id="@ id/spinner_lbl"
android:text="@string/weight_units"
android:layout_marginLeft="3dip" android:layout_height="wrap_content"
android:layout_width="match_parent" android:layout_gravity="center_vertical|center_horizontal" android:layout_weight="1" ></TextView>
<Spinner android:id="@ id/weight_spinner" android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="match_parent"></Spinner>
</LinearLayout>
<LinearLayout android:orientation="vertical"
android:paddingTop="2dip" android:paddingBottom="2dip" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1">
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_marginTop="10dip"
android:text="@string/calc_formula_prompt" />
<Spinner android:id="@ id/calc_spinner" android:layout_height="wrap_content" android:prompt="@string/calc_formula_prompt" android:layout_width="fill_parent"/>
</LinearLayout>
Для ясности — я хочу, чтобы действие открывалось в виде диалогового окна и занимало большую часть экрана, но когда я меняю ландшафт, счетчик не растягивается на всю родительскую ширину.
Заранее спасибо
Комментарии:
1. От этого отступа у меня болели глаза
Ответ №1:
Проблема заключалась в том, что это представление было раздуто и использовалось как один из вариантов в ViewFlipper. Код, который отсутствовал и вызвал это раздражающее поведение, заключался в добавлении flipper к его родительскому макету с правильными параметрами LayoutParams.
flipper = new MyViewFlipper(this, gestureDetector);
lay1.addView(flipper,new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
Прошу прощения за неполный вопрос — я понятия не имел, что это может быть связано с тем, как flipper был добавлен к его родительскому файлу.