2017-09-17 29 views
0

我有一個協調員佈局和一個ImageView配置文件圖片應該從ActionBar「掛起」。問題在於Android從不同密度的可繪製文件夾中選取了錯誤的圖像。下面是佈局的外觀:Android爲什麼選擇錯誤的密度圖像?

enter image description here

你可以在這裏看到的圖像幾乎覆蓋了整個屏幕(它不應該)。以下是我在各個文件夾中提供的各種可繪製尺寸:

  • drawable-mdpi/avatar.png | 310x310px
  • drawable-hdpi/avatar.png | 465x465px
  • drawable-xhdpi/avatar.png | 621x621px
  • drawable-xxhdpi/avatar.png | 931x931px

現在,爲什麼Android不顯示像覆蓋一個小區域的圖像(因爲它會按照mdpi執行)?

(以上測試屏幕是xxhdpi)

注:的形象已經在Photoshop畫板創建在這裏我們假設桌面即密度爲MDPI和比例放大/縮小在移動其他密度。


代碼以供參考:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/main.appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 
      <android.support.v7.widget.Toolbar 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

      </android.support.v7.widget.Toolbar> 
     </android.support.design.widget.CollapsingToolbarLayout> 

    </android.support.design.widget.AppBarLayout> 

    <de.hdodenhof.circleimageview.CircleImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:layout_anchor="@id/main.appbar" 
     app:layout_anchorGravity="bottom|center" 
     android:src="@drawable/avatar"/> 



</android.support.design.widget.CoordinatorLayout> 
+0

在文本模式(非設計模式)下打開您的XML並執行'ctrl + 0',在預覽頂部嘗試更改默認設備。 – Enzokie

+0

@Enzokie:我曾嘗試更換各種設備。它們都顯示了相同的情況。我在真實設備上測試也沒有區別。 –

回答

0

爲什麼你認爲資料圖片應該是小?你的標準現代手機有大約360-400水平DP;如果你的mdpi圖像是310x310(其餘的圖像會相應縮放),那麼我認爲圖像幾乎和普通手機一樣寬。

根據您發佈的尺寸,一切看起來都正常工作。

+0

考慮一下:典型的設備是720x1280或1080x1920像素。現在,如果圖像是mdpi上的300,它將佔用不到屏幕寬度的一半。在這裏,它佔80-90%。 –

+0

xhdpi上的典型設備是720x1280,這意味着360dp。你的xhdpi圖像寬621px; 621是720的最多。 –

+0

TY。有時候,這些DP計算會給你。這是其中的一次。永遠不要再...... *希望*! –