2017-01-25 1 views
0

У меня есть макет с PercentRelativeLayout как вид корня:layout_aspectRatio на PercentRelativeLayout

<android.support.percent.PercentRelativeLayout 
    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="wrap_content" 
    app:layout_aspectRatio="178%"> 

    <ImageView 
     android:id="@+id/firstImage" 
     app:layout_widthPercent="50%" 
     android:scaleType="centerCrop" 
     /> 

    <ImageView 
     android:id="@+id/secondImage" 
     app:layout_widthPercent="50%" 
     android:scaleType="centerCrop" 
     android:layout_toRightOf="@id/firstImage" 
     /> 

</android.support.percent.PercentRelativeLayout> 

Что мне нужно сделать, это установить 16: 9 формата на PercentRelativeLayout, а затем есть 2 изображения (каждые 50% широкого) внутри, так это выглядит примерно так:

http://i.imgur.com/Iy8JiCQ.png

Но когда я запустить приложение, два изображения не отображаются (как если представление не существует).

Что я должен изменить, чтобы получить то, что мне нужно?

+0

'приложение: layout_aspectRatio '- это атрибут, который вы применяете к * детям * в PercentRelativeLayout', а не к' PercentRelativeLayout'. – ianhanniballake

+0

@ianhanniballake Это имело бы смысл. Существует ли макет/способ применения соотношения сторон к родительскому представлению (например, RelativeLayout) и настроить его в соответствии с этим? –

+0

Вы можете, конечно, вложить одно в другое – ianhanniballake

ответ

0

При использовании PercentRelativeLayout вам необходимо установить ширину или высоту, чтобы другая рассчитывалась на основе процента. Так как вы установите высоту корня как wrap_content вам необходимо установить высоту детей, как wrap_content или фиксированное значение, и иметь лучший результат, было бы хорошей идеей, чтобы установить минимальную высоту

<android.support.percent.PercentRelativeLayout 
    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="wrap_content" 
    app:layout_aspectRatio="178%"> 

<ImageView 
    android:id="@+id/firstImage" 
    app:layout_widthPercent="50%" 
    android:layout_height="wrap_content" 
    android:minHeight="100dp" 
    android:scaleType="centerCrop" /> 

<ImageView 
    android:id="@+id/secondImage" 
    app:layout_widthPercent="50%" 
    android:layout_height="wrap_content" 
    android:minHeight="100dp" 
    android:scaleType="centerCrop" 
    android:layout_toRightOf="@id/firstImage" /> 

</android.support.percent.PercentRelativeLayout>