【发布时间】:2023-03-30 08:17:01
【问题描述】:
我创建了一个布局,它在顶部有一个 imageview,在中间的文本中,最后有一个按钮。现在我希望所有这些元素都在一页上,这意味着 textview 应该自动缩放他的大小。实际上,在我的布局中,我只能看到 imageview 和 textview,以查看我必须滚动的按钮。
我应该自己更改textview的大小并为不同的屏幕尺寸添加不同的布局还是有另一种可能性?
我的 xml 代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<HorizontalScrollView
android:id="@+id/horizontalScrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/l1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:src="@drawable/crunch1" />
<ImageView
android:id="@+id/button2links"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView2"
android:layout_centerHorizontal="true"
android:scaleType="centerInside"
android:src="@drawable/links2" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/b2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toRightOf="@+id/l1"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/crunch2" />
<ImageView
android:id="@+id/button2rechts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView1"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
android:src="@drawable/rechts2" />
</RelativeLayout>
</RelativeLayout>
</HorizontalScrollView>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Crunch"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/crunch" />
<ImageButton
android:id="@+id/pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:onClick="verlaufKlick"
android:src="@drawable/ic_launcher"
android:visibility="invisible"
android:background="?android:selectableItemBackground"
/>
</LinearLayout>
</ScrollView>
【问题讨论】:
-
你使用了多少种布局?!
-
15 个都具有相同的元素。
-
您只需要1,即可重现给定的图像...
-
我认为您应该为此使用权重.. 制作三个线性布局.. 一个用于 imageview,一个用于所有 textview,最后一个用于按钮.. 并根据您的要求提供高度 0dp 和重量。跨度>
-
你的设计是一个膨胀软件。我的很轻。 1 imageView 与顶部对齐。 1 个按钮与底部对齐。 1 个滚动视图匹配其间的剩余空间。然后你将TextViews附加在另一个下面......完成!所有这些无用的并发症都消失了。如果您使用 ListView 而不是 ScrollView 会更好。
标签: android xml layout textview