我有一个任务 - 制作这样的活动这里的照片需要一半的屏幕而文字需要另一半。一切都可以正常使用权重,但有时文本会占用大量空间而不适合屏幕,所以我用ScrollView覆盖了所有布局,但问题就出现了。如果一切都不适合一个屏幕,一切都应该是这样的 - 照片将占据可见屏幕的一半,而后半部分将包含可以适合那里的文本的一部分,当我滚动时,一切都应该滚动,新文本将出现在底部。但我不明白如何实现这一点,权重在这里以某种奇怪的方式工作,正如我所理解的那样,标签fillViewPort="true"
只有在没有任何东西可以滚动的情况下才会产生某些东西,并且当有东西时,这个标记什么都不做。那么我怎样才能以正确的方式看待我的观点呢?
这是我的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>
答案 0 :(得分:1)
我实现了我的目标,使其成为程序化的。在活动中,我可以访问ImageView并设置它的高度=可见屏幕的一半。
find(sub {
return unless -f;
print $File::Find::name, "\n";
}, '.');
但我仍然不知道如何使用XML