2016-04-11 20 views
0

Bir görevim var - bu gibi bir etkinlik yap task Burada fotoğraf ekranın bir yarısını alıyor ve metin başka bir yere götürüyor. Ve her şey ağırlıklar ile iyi çalışır, ancak bazen metin çok fazla yer kaplayabilir ve ekrana sığmaz, bu yüzden tüm düzenimi ScrollView ile kapattım, ama burada sorun geliyor. Eğer her şey bir ekrana sığmazsa, her şey bu şekilde görünmelidir - fotoğraf görünür ekranın bir yarısını çekecek ve ikinci yarısı oraya sığabilecek bir metin parçası içerecektir ve ben kaydırdığımda, her şey kaydırılmalı ve yeni metin en altta görünür. Ama bunun farkına varmıyorum, buradaki ağırlıklar biraz garip bir şekilde çalışıyor ve fillViewPort="true" etiketini anladığımda, yalnızca kaydırma yapacak hiçbir şey olmadığında ve bu etiketin hiçbir şey yapmadığı bir şey olduğunda anlamıyor. Öyleyse bakış açımı uygun şekilde nasıl gösterebilirim?Ağırlıkta kaydırma

İşte benim XML

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    tools:context="leopikinc.musiciansyandex.MusicianInfo" 
    android:orientation="vertical"> 

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

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/big_photo" 
      android:src="@drawable/test" 
      android:layout_gravity="center" /> 
    </LinearLayout> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:text="Genres" 
      android:id="@+id/genres" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:text="Album count" 
      android:id="@+id/album_count" 
      android:layout_below="@+id/genres" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:text="Track count" 
      android:id="@+id/track_count" 
      android:layout_above="@+id/biography_string" 
      android:layout_toRightOf="@+id/album_count" 
      android:layout_toEndOf="@+id/album_count" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="@string/biography_string_text" 
      android:id="@+id/biography_string" 
      android:layout_below="@+id/album_count" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:text="Biography Text" 
      android:id="@+id/biography_text" 
      android:layout_below="@+id/biography_string" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 
    </RelativeLayout> 
</LinearLayout> 
</ScrollView> 
+1

ben tam son bölümünü anlamıyorum ama bu sorunu çözmek için bu mantık deneyebilirsiniz nasıl bilmiyorum. 1. Ağırlık özellik ayarı ile doğrusal bir düzen olduğunu düşündüğünüz kök düzeniniz var. 2. senin görüntü görüş var. 3. Şimdi sadece bir kaydırma görünümü koymak yerine, kaydırma görünümünüzü doğrusal bir düzene yerleştirin. Sadece kaydırma görünümü ve yeni lineer düzen içinde –

+0

xml kodunuzu gönderin –

+0

@KISHORE_ZE Yerel hoparlör değilim üzgünüm). Metni devasa olsa bile görünümümün resmin üzerinde olmasını istiyorum. Yani görünüm simly kaydırılabilir olmalıdır. – Leopik

cevap

1

Ben programmaticaly yapma amacım önemleri hesaplanmıştır. Etkinlikte ImageView'a eriştim ve onun yüksekliği = görünen ekranın yarısını ayarladım.

ViewGroup.LayoutParams lp = bigphoto.getLayoutParams(); 
lp.height = getResources().getDisplayMetrics().heightPixels/2; 
bigphoto.setLayoutParams(lp); 

Ama yine de bu kullanarak XML

+0

Doğru olarak işaretle –

+0

@KISHORE_ZE Cevabımı sadece 2 gün içinde kabul edebilirim – Leopik

+0

Hayır Sorun. Üzgünüm fazla yardımcı olamadım. –

İlgili konular