LinearLayout이 포함 된 ScrollView로 구성된 조각에 문제가 있습니다. LinearLayout에 흰색 배경이 있고 배경색이 스크롤 된 종이처럼 보이는 효과를 만들려고합니다. 이를 달성하기 위해 노력하고있는 방법은 조각의 전체 공간을 ScrollView가 차지하도록하여 내부의 LinearLayout에 android:layout_margin="16dp"
이라는 "종이"주위에 공간을 생성하는 것입니다.ScrollView가 내부 LinearLayout의 하단 여백 끝으로 스크롤하지 않습니다.
이렇게하면 ScrollView의 스크롤 막대가 채색 된 배경 영역에 나타나고 상단의 여백이 내용과 함께 스크롤되고 하단의 여백은 끝에 도달 할 때만 스크롤됩니다.
불행하게도이 구성에서 ScrollView는 끝까지 스크롤하지 않으며 실제로는 매우 작은 양의 텍스트를 맨 아래로 자릅니다. 나는 ScrollView가 수직 스크롤링 거리에서 자녀의 마진을 고려하지 않았다고 생각한다. 이 문제를 해결하기 위해 FrameLayout에 LinearLayout을 래핑했습니다. 그러나 불필요한 것처럼 보입니다. 이 불필요한 컨테이너를 제거하는 방법에 대한 조언을 주시면 감사하겠습니다.
참고 : ScrollView에서 android:padding="16dp"
을 설정하고 여백을 스크래핑하면 스크롤 위치에 관계없이 패딩이 모든 네 모서리에 연속적으로 나타나므로 원하는 효과가 없습니다.
<?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>
는'안드로이드 설정 시도? –
@AdilSoomro 예, 기쁨이 없습니다. ScrollView의 크기는 실제 문제가 아니며 적절하게 사용할 수있는 공간을 채 웁니다. 즉각적인 하위 항목에 여백이있을 때 내용의 맨 끝으로 스크롤하는 것을 허용하지 않습니다.나는이 문제가 스크롤 영역을 계산할 때 자녀의 마진을 고려하지 않기 때문에 발생한다고 생각합니다. –