Привет, я создал одно медицинское приложение. он работает нормально. я разместил один логотип в центре экрана приложения, мой размер и ширина моего логотипа - 70х70, а разрешение экрана эмулятора - 900 х 800, если я изменю разрешение экрана. Я хочу изменить свой размер логотипа так же динамично. это мое сомнение в том, как установить логотип в зависимости от разрешения экрана?
код:
public class ImageviewAppActivity extends Activity {
private ImageView img;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
img =(ImageView) findViewById(R.id.imagetest);
img.setMaxWidth(20);
img.setMaxHeight(100);
}
}
xml: main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imagetest"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
</LinearLayout>
Послушайте, я думаю, вы должны установить размер logog в соответствии с разным разрешением, а затем попытаться использовать
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float density = metrics.density;
плотность - float, и ее значение изменяется в зависимости от размера экрана...
поэтому, если у вас есть
240*320 density is 0.5
320*480 density is 1.0
480*800 density is 1.5
и установить размер с использованием плотности, например img.setMaxHeight(density*100);
а также поместить несколько экранов в файл манифеста... Поддержка нескольких экранов
Я не уверен, но вы можете играть с различным разрешением экрана по dpi. В вашем проекте вы можете создать другую папку с возможностью рисования, которая позволит вам добавить в свой проект разные изображения с различным разрешением, которые будут автоматически загружаться с устройства в зависимости от разрешения экрана.
http://developer.android.com/guide/practices/screens_support.html