Вы можете решить эту проблему, создав собственный View и переопределив метод onMeasure ().Если вы всегда используете «fill_parent» для layout_width в xml, то параметр widthMeasureSpec, который передается в метод onMeasusre (), должен содержать ширину родительского элемента.
public class MyCustomView extends EditText {
public MyCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
}
}
Ваш XML будет выглядеть примерно так:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<view
class="com.company.MyCustomView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>