2017-07-08 183 views
0

我有一個Android的多屏幕的問題。Android多屏幕

後,我看了這個網頁:

https://developer.android.com/guide/practices/screens_support.html developer.android.com/training/multiscreen/screensizes.html

我想我的活動與添加最小的屏幕切換到多屏幕布局寬度的佈局目錄:

佈局sw320dp

佈局sw320dp陸

佈局sw480dp

佈局sw480dp土地

佈局sw600dp

佈局sw600dp土地

佈局sw720dp

佈局sw720dp土地

我的活動:

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:id="@+id/activity_main" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@color/background" 
      tools:context="com.example.aref.calculator.MainActivity" 
      android:orientation="vertical"> 


<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/lin" 
    android:orientation="vertical"> 


    <EditText 
     android:id="@+id/etInput" 
     android:layout_height="163dp" 
     android:background="@android:color/transparent" 
     android:cursorVisible="false" 
     android:gravity="end|center" 
     android:hint="@string/zero" 
     android:inputType="numberSigned" 
     android:padding="16dp" 
     android:scrollHorizontally="true" 
     android:singleLine="true" 
     android:textColor="@android:color/black" 
     android:textColorHint="@android:color/darker_gray" 
     android:textCursorDrawable="@null" 
     android:textSize="50sp" 
     android:layout_width="match_parent" /> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="2dp" 
     android:orientation="horizontal"> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <Button 
       android:id="@+id/btnMc" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:background="@drawable/btn_selector" 
       android:text="@string/mc" /> 

      <Button 
       android:id="@+id/btnMemory" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector" 
       android:text="@string/nullMemory" /> 

      <Button 
       android:id="@+id/btnSeven" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector2" 
       android:text="@string/seven" /> 

      <Button 
       android:id="@+id/btnFour" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector2" 
       android:text="@string/four" /> 

      <Button 
       android:id="@+id/btnOne" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector2" 
       android:text="@string/one" /> 

      <Button 
       android:id="@+id/btnZero" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector2" 
       android:text="@string/zero" /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <Button 
       android:id="@+id/btnMPlus" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:background="@drawable/btn_selector" 
       android:text="@string/mPlus" /> 

      <Button 
       android:id="@+id/btnClear" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector1" 
       android:text="@string/clear" /> 

      <Button 
       android:id="@+id/btnEight" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector2" 
       android:text="@string/eight" /> 

      <Button 
       android:id="@+id/btnFive" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector2" 
       android:text="@string/five" /> 

      <Button 
       android:id="@+id/btnTwo" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector2" 
       android:text="@string/two" /> 

      <Button 
       android:id="@+id/btnPoint" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector1" 
       android:text="@string/point" /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <Button 
       android:id="@+id/btnMMinus" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:background="@drawable/btn_selector" 
       android:text="@string/mMinus" /> 

      <Button 
       android:id="@+id/btnAllClear" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector1" 
       android:text="@string/AllClear" /> 

      <Button 
       android:id="@+id/btnNine" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector2" 
       android:text="@string/nine" /> 

      <Button 
       android:id="@+id/btnSix" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector2" 
       android:text="@string/six" /> 

      <Button 
       android:id="@+id/btnThree" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector2" 
       android:text="@string/three" /> 

      <Button 
       android:id="@+id/btnEqual" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector1" 
       android:text="@string/equal" /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <Button 
       android:id="@+id/btnMr" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:background="@drawable/btn_selector" 
       android:text="@string/mr" /> 

      <Button 
       android:id="@+id/btnMod" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector3" 
       android:text="@string/mod" /> 

      <Button 
       android:id="@+id/btnDiv" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector3" 
       android:text="@string/div" /> 

      <Button 
       android:id="@+id/btnMul" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector3" 
       android:text="@string/mul" /> 

      <Button 
       android:id="@+id/btnPlus" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector3" 
       android:text="@string/plus" /> 

      <Button 
       android:id="@+id/btnMin" 
       android:layout_width="@dimen/btn_width_small" 
       android:layout_height="@dimen/btn_height_small" 
       android:layout_marginLeft="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginStart="@dimen/btn_marginLeft_marginStart" 
       android:layout_marginTop="@dimen/btn_margin_top" 
       android:background="@drawable/btn_selector3" 
       android:text="@string/minus" /> 

     </LinearLayout> 


    </LinearLayout> 

</LinearLayout> 

例如我的問題是在「佈局sw320dp」 i設計爲Nexus 5X的佈局時,我例如改變裝置的Nexus 4或Nexus S的佈局變得不適宜

IMAGE: http://s8.picofile.com/file/8299930926/564684.png

回答

0

你設置固定寬度按鈕。這絕對不會在各種設備上運行良好。使用另一種技術。例如,如果你想要4個相同大小的按鈕,把每一行作爲線性佈局,並將它們全部分配給0dp寬度和1的權重,這樣它們就會變得很大。

+0

確定TNX,如果我的佈局有一些其他的elemnts喜歡的ImageView,開關,微調,....我做什麼呢? ? – AREF

+0

全部取決於總佈局。但總的來說,避免固定的寬度和高度。 –

+0

謝謝。可以關於體重屬性的簡短說明嗎? – AREF

0

創建線性佈局,並使用weightsum你可以在多個屏幕上使用。所以