LinearLayout içeren bir ScrollView'den oluşan bir Fragmanla ilgili sorunlar yaşıyorum. LinearLayout'un beyaz bir arka plana sahip olduğu ve renkli bir arka plan üzerinde kayan bir kağıda benzediği bir etki yaratmaya çalışıyorum. Buna ulaşmaya çalıştığım yol, ScrollView parçasının tam alanını işgal etmesi ve daha sonra içerisindeki LinearLayout'un "paper" etrafında boşluk yaratmak için android:layout_margin="16dp"
olmasıdır.ScrollView, iç LinearLayout'un alt kenar boşluğunun sonuna kaydırmıyor
Bu şekilde, ScrollView öğesinin kaydırma çubuğu renkli arka plan alanında görünür, üstteki kenar boşluğu içeriğiyle birlikte kaydırılır ve alt kısımdaki kenar boşluğu yalnızca son noktaya ulaştığında kaydırılır.
Bu yapılandırmada maalesef ScrollView sonuna kadar ilerlemeyecek ve aslında alttaki çok az miktarda metni kesecektir. ScrollView’un, çocuğun dikey kaydırma mesafesindeki kenar boşluklarını hesaba katmadığından şüpheleniyorum. Bunu çözmek için LinearLayout'u sorunu çözen bir FrameLayout'a sardım ama gereksiz görünüyor. Bu gereksiz konteyner nasıl ortadan kaldırılacağına dair herhangi bir işaret takdir edilecektir.
Not: Daha sonra dolgu sürekli bakılmaksızın kaydırma konumunun dört kenarındaki göründüğü gibi, scrollview üzerinde android:padding="16dp"
ayarlama ve istenen etkiyi yok marjları hurdaya.
<?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="fill_parent"
android:layout_height="wrap_content"
tools:context=".ArticleFragment" >
<!-- This FrameLayout exists purely to force the outer ScrollView to respect
the margins of the LinearLayout -->
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp"
android:layout_margin="16dp"
android:background="@color/page_background" >
<TextView
android:id="@+id/article_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textIsSelectable="true" />
<TextView
android:id="@+id/article_content"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true" />
</LinearLayout>
</FrameLayout>
</ScrollView>
'android ayarı çalıştı? –
@AdilSoomro Evet, sevinç yok. ScrollView'ın boyutu gerçekten bir sorun değil - uygun şekilde kullanılabilir alanı doldurur. Sağladığı kaydırma alanı - hemen çocuğun bir marjı olduğunda içeriğinin sonuna kadar kaydırmaya izin vermez.Sorunun, kaydırma alanını hesaplarken çocuğun hesabını dikkate almamasından kaynaklandığına inanıyorum. –