Программно раздувать вид с заранее определенными мерами
У меня есть такой ресурс макета, и я хочу накачать его шириной и высотой макета:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="75px"
android:layout_height="25px">
<TextView
android:id="@+id/drawable_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="Name" />
<TextView
android:id="@+id/drawable_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/drawable_name"
android:layout_alignParentLeft="true"
android:gravity="center_horizontal"
android:layout_below="@+id/drawable_name"
android:text="Some Text" />
</RelativeLayout>
Вид может быть любым, и я конвертирую его в растровое изображение.
private Bitmap getBitmap(View v){
v.measure(MeasureSpec.makeMeasureSpec(mDrawableWidth, MeasureSpec.EXACTLY),
MeasureSpec.makeMeasureSpec(mDrawableHeight, MeasureSpec.EXACTLY));
v.layout(0, 0, mDrawableWidth, mDrawableHeight);
Bitmap returnedBitmap = Bitmap.createBitmap(mDrawableWidth, mDrawableHeight,Bitmap.Config.ARGB_8888);
Canvas c=new Canvas(returnedBitmap);
v.draw(c);
return returnedBitmap;
}
До сих пор у меня есть жестко запрограммированные ширина и высота, и я хочу иметь возможность делать это программно, получая доступ кlayout_width
а такжеlayout_height
, Есть ли способ добиться этого? Если есть другой способ накачать представление этими значениями, не указывая их в показателе, пожалуйста, дайте мне знать.
Если я создаю пользовательский вид, есть ли шанс указать фиксированную ширину и высоту?