2010-08-05 27 views
139

Etkinliği başlattıktan sonra, aşağıda tanımlanan xml'de bulunan diğer düğmeleri ve seçenekleri görmek için aşağı kaydırmayı başaramıyorum.LinearLayout kaydırılabilir hale getirme

Bu kaydırılabilirliği nasıl yapacağını bilen var mı?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:background="#000044" 
android:isScrollContainer="true" 
android:orientation="vertical"> 
<TextView 
    android:id="@+id/title" 
    android:text="@string/title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#ffffff"/> 
<EditText 
    android:id="@+id/editTitle" 
    android:text="" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/> 
<TextView 
    android:id="@+id/description" 
    android:text="@string/description" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#ffffff"/> 
<EditText 
    android:id="@+id/editDescription" 
    android:text="" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/> 
<TextView 
    android:id="@+id/location" 
    android:text="@string/location" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#ffffff"/> 
<EditText 
    android:id="@+id/editLocation" 
    android:text="" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/> 
<TextView 
    android:id="@+id/startTime" 
    android:text="@string/startTime" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#ffffff"/> 
<DatePicker 
    android:id="@+id/DatePicker01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 
<TimePicker 
    android:id="@+id/TimePicker01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 
<TextView 
    android:id="@+id/endTime" 
    android:text="@string/endTime" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#ffffff"/> 
<DatePicker 
    android:id="@+id/DatePicker02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 
<TimePicker 
    android:id="@+id/TimePicker02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 
<Button 
    android:id="@+id/buttonCreate" 
    android:text="Create" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 
</LinearLayout> 

Benim sınıf kodu çıkışı http://img265.imageshack.us/img265/7601/linearlayout.jpg

+0

Olası kopyası [Bir LinearLayout'u nasıl kaydırılabilir hale getiriyorsunuz?] (Http://stackoverflow.com/questions/4055537/how-do-you-make-a-linearlayout-scrollable) – Flow

cevap

204

Place ScrollView daki düzen olup

package com.example.blah; 

import android.app.Activity; 
import android.os.Bundle; 

public class example extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
} 

olduğunu.

+0

Mükemmel yanıt! – Sana

+6

Bu, kaydırılabilir öğelerin liste görünümü gibi bir kaydırma görünümünün içine yerleştirilememesi gibi yan etkilerdir. – JoaoFilipeClementeMartins

+2

Kaydırılabilir içeriğin içinde kaydırılabilir içerikten kaçınmalısınız. Kullanıcılar beğenmeyecek (hangi kaydırma yapacağınızı asla bilemezsiniz). – Guillaume

62
<?xml version="1.0" encoding="utf-8"?> 
<ScrollView ...> 

<LinearLayout ...> 

... 
... 

</LinearLayout> 

</ScrollView> 
15

Tüm içeriğinizi, ScrollView içine yerleştirilen doğrusal düzende koyun.

ScrollViewScrollView yalnızca bir düzenini onun çocuğu olarak alır.

isScrollContainer="true" 

Bu özellik ne zaman android pops içinde yazılım tuşu kadar kullanılmış ve hala size bakış kaydırmak istiyor edilir.

2

Ayrıca bunu View.scrollTo(..) kullanarak da uygulayabilirsiniz.

postDelayed(new Runnable() { 
      public void run() { 

       counter = (int) (counter + 10); 
       handler.postDelayed(this, 100); 

        llParent.scrollTo(counter , 0); 
       } 

      } 
     }, 1000L); 
54
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="center|left" 
     android:orientation="vertical"> 

     Your views go here... 

    </LinearLayout> 

</ScrollView> 
2

herhangi düzen kaydırılabilir yapabilirsiniz. Sadece <?xml version="1.0" encoding="utf-8"?> altında şu satırları ekleyin:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

ve sonunda

olmayan bir kaydırılabilir aktivitenin </ScrollView>

örneği ekleyin: o kaydırılabilir yaptıktan sonra

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:verticalScrollbarPosition="right" 
    tools:context="p32929.demo.MainActivity"> 


    <TextView 
     android:text="TextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="102dp" 
     android:id="@+id/textView" 
     android:textSize="30sp" /> 
</RelativeLayout> 

, bu gibi olur:

<?xml version="1.0" encoding="utf-8"?> 

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <RelativeLayout 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:orientation="vertical" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin" 
     android:verticalScrollbarPosition="right" 
     tools:context="p32929.demo.MainActivity"> 


     <TextView 
      android:id="@+id/textView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="102dp" 
      android:text="TextView" 
      android:textSize="30sp" /> 
    </RelativeLayout> 
</ScrollView> 
1

Tüm düzenlerinizi ScrollView içine genişlik ve h ile yerleştirin. Doldurma sekiz olarak ayarlandı.

+0

'a ilerlerken yan taraftaki çubuğu gösterecektir. Cevabınız bir cevap yerine bir yoruma benziyor. Yeterli [itibara] sahip olduğunuz zaman (http://stackoverflow.com/help/whats-reputation) herhangi bir yayına [yorum yazabilirsiniz] (http://stackoverflow.com/help/privileges/comment). Ayrıca bunu kontrol edin [bunun yerine ne yapabilirim?] (Https: //meta.stackexchange.com/sorular/214173/neden-do-i-ihtiyaç-50-ün-to-comment-ne can-ı-do-yerine). Bir cevap vermeyi düşünüyorsanız, bu yanıtı (nasıl yapılır) okuyun (http://stackoverflow.com/help/how-to-answer). – thewaywewere

+0

fill_parent zaten kullanımdan kaldırıldı ve match_parent ile değiştirildi –

İlgili konular