Что вы должны сделать, это масштабировать все на вашем экран в зависимости от размера экрана.
например: Если у вас есть TextView, вы можете сделать:
TextView myTextView = (TextView) findViewById(R.id.myTextView_ID);
int tempSize = myTextView.getTextSize();
myTextView.setSize(TypedValue.COMPLEX_UNIT_SP, tempSize*w*h/KONSTANT);
Где ж и ч ширина и высота экрана и Констан является продуктом вашего размера экрана по умолчанию.
Вы можете получить ш и ч с помощью:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
h = metrics.heightPixels;
w = metrics.widthPixels;
Кроме того, что вы можете сделать, это иметь несколько макетов (как вы сейчас делаете), а затем выбрать один в зависимости от размера экрана.
например:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
h = metrics.heightPixels;
w = metrics.widthPixels;
if (h == smallScreenH && w == smallScreenW) {
setContentView(R.layout.small_screeen);
}
else if (h == mediumScreenH && w == mediumScreenH) {
setContentView(R.layout.mdeium_screen);
}
}
что вы имеете в виду под "не работает"? –
Я тестировал на небольших мобильных телефонах изображение не изменяло размер текста, иногда менялось. большой мобильный рендеринг по умолчанию, как вкладка галактики Samsung (SM-T23Nu) –