簡體   English   中英

Android如何定位元素以支持所有設備

[英]android how to position elements to support in all devices

我對定位元素有疑問。

我想要的是無論屏幕大小如何,所有設備中的這張圖片。

在此處輸入圖片說明

我所擁有的是兩種不同尺寸的

在此處輸入圖片說明在此處輸入圖片說明

我希望我的textViews和editTexts在活動視圖中保持其位置。 (imageView中的圖像“包含圖像的綠色,藍色,藍色,紅色,黃色正方形”)

這是我的layout.xml

        <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical">
                <TextView
                        android:layout_height="30dp"
                        android:layout_width="150dp"
                        android:layout_marginTop="60dp"
                        android:layout_marginLeft="100dp"
                        android:textSize="19dp"
                        android:textStyle="bold"
                        android:gravity="center"
                        android:text="@string/login_app_name">
                </TextView>
                <RelativeLayout
                        android:layout_width="fill_parent"
                        android:layout_height="20dp"
                        android:layout_marginTop="128dp"
                        android:gravity="center_vertical">
                            <TextView
                                    android:layout_height="20dp"
                                    android:layout_width="100dp"
                                    android:layout_marginLeft="35dp"
                                    android:textStyle="bold"
                                    android:gravity="right|center_vertical"
                                    android:text="@string/login_username">
                            </TextView>
                            <EditText
                                    android:layout_height="20dp"
                                    android:layout_width="140dp"
                                    android:layout_alignParentRight="true"
                                    android:layout_marginRight="10dp"
                                    android:background="@drawable/login_edit_text">
                            </EditText>
                </RelativeLayout>
                <RelativeLayout
                        android:layout_width="fill_parent"
                        android:layout_height="20dp"
                        android:layout_marginTop="2dp">
                            <TextView
                                    android:layout_height="20dp"
                                    android:layout_width="100dp"
                                    android:layout_marginLeft="35dp"
                                    android:textStyle="bold"
                                    android:gravity="right|center_vertical"
                                    android:text="@string/login_password">
                            </TextView>
                            <EditText
                                    android:layout_height="20dp"
                                    android:layout_width="140dp"
                                    android:layout_alignParentRight="true"
                                    android:layout_marginRight="10dp"
                                    android:background="@drawable/login_edit_text">
                            </EditText>
                </RelativeLayout>

        </LinearLayout>
    </RelativeLayout>

我懷疑問題與我用來定位元素的填充和邊距有關。 但是我找不到其他辦法。

有什么方法可以建議我的元素在所有屏幕尺寸上保持其位置?

為不同的設備制作單獨的xml文件,並為兩個xml分別放置圖像,以適應不同的標准分辨率。 鏈接兩個XML文件的兩個單獨的類,現在基於屏幕分辨率調用兩個類中的任何一個。 您可以使用以下代碼獲取屏幕資源:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);

final int height = dm.heightPixels;
final int width = dm.widthPixels;

使用if-else條件並選擇要使用的類

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM