روش زیر رو استفاده کنید. تا حد خیلی زیادی مشکل رو حل میکنه.
اول فایل زیپ رو دانلود و تو مسیر پروژه اکسترکت کنید
و توی Region Project Attributes کد زیر رو اضافه کنید
#AdditionalRes: ..\res
حالا کدهای زیر رو اضافه کنید به اکتیویتی
#If java
import android.util.TypedValue;
import android.widget.TextView;
import java.lang.reflect.Field;
private int getResId(String variableName) {
Field field;
int resId = 0;
try {
field = R.dimen.class.getField(variableName);
try {
field.setAccessible(true);
resId = field.getInt(null);
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return resId;
}
public void setTextSize(TextView txt , int textSize){
try {
int resourceID =getResId("_"+textSize+"ssp");
txt.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(resourceID));
}catch (Exception e) {
e.printStackTrace();
}
}
public float getDpSize(int textSize) {
try {
int resourceID = getResId("_" + textSize + "sdp");
return getResources().getDimension(resourceID);
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
#End If
به شکل زیر استفاده کنید
Dim jo As JavaObject:jo.InitializeContext
jo.RunMethod("setTextSize",Array(EditText1,15))
Dim size100Dp As Int=jo.RunMethod("getDpSize",Array(100))
Button2.Width=size100Dp
Button2.Height=size100Dp