Если вы используете Layout, отличный от RelativeLayout, вы можете программно сопоставить ширину ваших виджетов, например, в этом примере:
layout.xml:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Here's some text"
/>
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Some more text"
/>
</LinearLayout>
Обратите внимание, что оба текстовых поля установлены на wrap_content.
Main.java:
TextView tv1 = (TextView) findViewById(R.id.text1);
TextView tv2 = (TextView) findViewById(R.id.text2);
if(tv1.getWidth() < tv2.getWidth())
tv1.setWidth(tv2.getWidth());
else
tv2.setWidth(tv1.getWidth());
Если у вас есть несколько виджетов, которые вы хотите иметь одинаковую ширину, просто повторите приведенный выше код для нового элемента. Например, скажем, была кнопка, которую я хотел отрегулировать по ширине, чтобы соответствовать другим элементам:
if(tv2.getWidth() < button)
tv2.setWidth(button.getWidth());
else
button.setWidth(tv2.getWidth());