Может ли выставляемая форма иметь размер, заданный как fill_parent?
Является ли это допустимым для Android способом использовать fill_parent
для его размера?
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#666666"/>
<size
android:width="fill_parent"
android:height="fill_parent"/>
</shape>
ИЗМЕНИТЬ
Это на фоне представлений ImageButton
. Я хочу, чтобы значок кнопки имел круг за ним, но я не всегда знаю, какой размер кнопки будет (разные размеры для макета).
Ответы
Ответ 1
Не совсем. Не использовать только ShapeDrawable
. Если вы пройдете через документ ShapeDrawable
, вы увидите (вы уже используете их в теге), что единственными допустимыми атрибутами являются px, dp, sp, в и мм
Цитата из документа: android:width="...."
Доступными единицами являются: px (пиксели), dp (независимые от плотности пиксели), sp (масштабированные пиксели на основе предпочтительного размера шрифта), в дюймах, мм (миллиметры) Это относится к атрибуту: android:height
Это спекуляция с моей стороны, но я подозреваю, почему значение атрибута fill_parent не будет работать, потому что ShapeDrawble
, в отличие от файла XML Layout
не будет иметь родительский контейнер.
Оставляя атрибут <size.... />
полностью и устанавливая layout_width
и layout_height
в виджет, который будет ссылаться на упомянутый ShapeDrawable, является единственной опцией, которую я подозреваю (если нужно выполнить fill_parent
).
Ответ 2
Как вы планируете использовать эту форму? Вы можете установить его как src или background для любого вида и установить высоту представления в "fill_parent" - это более обычный способ.
Ответ 3
Вы не можете сделать это из файла xml, но вы можете сделать это из java файла. Просто используйте
public final void resize (float width, float height)
Ответ 4
Я не знаю, какой уровень API это вступил в силу, но в документации, пригодной для рисования Shape, он будет масштабироваться пропорционально, чтобы соответствовать представлению. Таким образом, вы можете, например, поставить width = 1dp и height = 1dp. См. https://stuff.mit.edu/afs/sipb/project/android/docs/guide/topics/resources/drawable-resource.html#Shape