Wykonałem układ z xml przy użyciu układu tabletu o rozmiarze emulatora. Ale po otwarciu w tym samym układzie na urządzeniu z systemem Android, to wszystko jest zniekształcone, więc mogę zrobić układ xml, który będzie działał dobrze zarówno w telefonie urządzenia, jak i na tablecie. Proszę, zasugeruj mi, doceń swoją odpowiedź.Jak mogę utworzyć układ, który będzie działał zarówno na tablecie, jak i telefonie?
Odpowiedz
Złóż taki zasób.
res/layout/my_layout.xml // układ dla wielkości normalnego ekranu ("default")
RES/układ niedrobnokomórkowego/my_layout.xml // układ dla wielkości małego ekranu
res/layout-large/my_layout.xml // układ dla wielkości duży ekran
res/layout-XLarge/my_layout.xml // układ o bardzo dużym ekranem Si ZE
res/layout-XLarge-land/my_layout.xml // układ dla bardzo duży w orientacji poziomej
res/odkształcalne-MDPI/my_icon.png // bitmapy o średniej gęstości
Res/odkształcalny-hdpi/my_icon.png // bitowej wysokiej gęstości
Res/odkształcalny-xhdpi/my_icon.png // bitowej dodatkowych wysokich nor ity
Więcej reference. reference1.
Dodaj ten w manifest.xml
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens= "true"
android:anyDensity="true"
/>
nadzieję, że to pomoże.
Rozmiar obrazu będzie taki sam we wszystkich folderach do rysowania? lub zostanie ustawiony inny rozmiar obrazu w każdym układzie? –
powinieneś umieścić inny rozmiar obrazu. według gęstości .. ponieważ małe obrazy pasują tylko do małego ekranu. ale nie będzie pasował do większego ekranu, ponieważ wygląda na bardzo mały.więc poruszamy się w ten sposób. lepiej umieścić inny rozmiar obrazu. – Nirmal
@Nirmal Cześć, używam tego również, ale nie otrzymuję rozwiązania. Moje urządzenie zawsze pokazuje tylko normalny układ. Dodałem to uprawnienie "android: configChanges =" orientacja | keyboardHidden | screenSize | screenLayout "'To wpłynie na wszystko. – SathishKumar
Możesz utworzyć dwa oddzielne układy dla telefonu i Tab. Musisz utworzyć plik układu z "filename" dla telefonu i utworzyć zakładkę, klikając prawym przyciskiem myszy projekt i wybierając nowy> plik układu XML xml, a następnie wpisać "nazwę pliku", kliknąć Dalej i wybrać Rozmiar z prawy panel i wybierz x-large z rozwijanej listy. Twój plik układu dla karty jest tworzony osobno, więc spersonalizuj swój układ.
Użyj tabel i grubości, aby utworzyć ten sam lub podobny współczynnik proporcji na telefonie, który byłby na tablecie. W ostateczności utworzyłem tylko inne układy.
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight=".33" >
//Note: You will need some other TableRows fill in the difference of this Table Row..2 more of the same will equal 1.
<TextView
android:id="@+id/x"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="3dp"
android:layout_weight=".33"
android:background="@drawable/buttonx"
android:gravity="center"
android:text="Words"
android:textColor="#ffffff"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/x2"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="3dp"
android:layout_weight=".33"
android:background="@drawable/buttonx2"
android:gravity="center"
android:text="Other Words"
android:textColor="#ffffff"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/x3"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="3dp"
android:layout_weight=".33"
android:background="@drawable/buttonx3"
android:gravity="center"
android:text="More Words"
android:textColor="#ffffff"
android:textSize="16sp"
android:textStyle="bold" />
</TableRow>
jak to mi pomóc? –
Powoduje to, że zawartość twojego układu stanowi procent strony. Tak więc, niezależnie od tego, czy jest to ekran TV, czy najmniejsze, proporcje obrazu są wciąż takie same. – SmulianJulian
Mmmmm polecam użycie fragmentu ... –
Będziesz musiał zaprojektować swoje układy i rysunki dla obu rozmiarów ekranu. sprawdź dokumenty ma wszystkie potrzebne informacje http://developer.android.com/guide/practices/screens_support.html – Raghunandan
Podałem szczegółową odpowiedź na ten temat tutaj: http://stackoverflow.com/a/12742888/1369222 –
Zobacz odpowiedź [this] (http://stackoverflow.com/questions/14078460/android-how-to-scale-a-layout-with-screen-size/19925666#19925666). –