Я хочу показать EditText
и Button
в одной строке. Но размер кнопки фиксирован для некоторых пикселей. Я хотел бы получить ширину Button
программно, так что я могу регулировать ширину EditText
на изменение ориентации в вертикальный или горизонтальный моем файл XML выглядит следующим образомКак получить ширину кнопки в android
<LinearLayout
android:id="@+id/middleLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
>
<EditText
android:layout_height="50px"
android:layout_width="wrap_content"
android:id="@+id/searchBox"
android:layout_marginTop="2px"
android:visibility="visible"
android:singleLine="true"
android:hint="Enter Zip Code, City & State"
/>
<Button
android:layout_height="wrap_content"
android:layout_width="20px"
android:id="@+id/searchBtn"
android:visibility="visible"
android:layout_marginTop="3px"
android:text="Search"
/>
</LinearLayout>
Я его расчетом на следующем код.
searchBox = (EditText) findViewById(R.id.searchBox);
searchbutton = (Button) findViewById(R.id.searchBtn);
int searchIconWidth = searchbutton.getWidth();
searchBox.setWidth(getting_screen_width() - searchIconWidth);
для расчета ширины экрана я использовал следующие
private int getting_screen_width()
{
DisplayMetrics dm = null;
dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
String width = ""+dm.widthPixels ;
dm = null;
return Integer.parseInt(width);
}
Но когда я запускаю выше код, чем EditText
занимает всю ширину & кнопку Поиск не отображается. Какова может быть проблема с шириной кнопки в пикселях.
Пожалуйста, помогите мне. Заранее спасибо.
Я думаю, если ширина проблемы. установить одно и то же значение для обоих из них. – Praveen