gpt4 book ai didi

安卓布局。权重、 ScrollView 、 ListView

转载 作者:行者123 更新时间:2023-11-30 03:54:08 27 4
gpt4 key购买 nike

这让我彻底疯了。我想在 android 中使用有点复杂的布局。我正在尝试使用权重而不是固定事物的大小。也许我应该放弃……

这是我想做的:

enter image description here

我想要 3 个 ScrollView (里面有 TextView )和一个大小相同的 ListView 。

我使用了权重和为 4 的 TableLayout,并为包含 ScrollView 和 ListView 的行赋予了 1 的权重。这实际上是可行的,这让我感到惊讶,因为还有其他行没有分配权重。但是一旦 ListView 实际填充或 TextView 开始占用多行,一切都会搞砸。我希望它们都保持相同的大小。

我在下面粘贴了我当前的 axml 文件。我已经尝试了一百万种不同的东西,我准备放弃了。这真的不应该那么难。

提前致谢!

    <?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/StepTable"
android:stretchColumns="*"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:background="@color/bgray"
android:padding="15dp"
android:weightSum="4">
<TableRow
style="@style/PhaseHeaderRow">
<TextView
android:text="Header 1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_span="3"
style="@style/PhaseHeader" />
</TableRow>
<TableRow
style="@style/PhaseRow.ListHeader"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:weightSum="8"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_span="3">
<TextView
android:id="@+id/txt_PhaseListNumber"
android:gravity="center"
android:layout_weight="1"
android:text="Sub"
style="@style/PhaseTextView.List"
android:width="0px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp" />
<TextView
android:id="@+id/txt_PhaseListStatus"
android:layout_weight="2"
android:gravity="center"
style="@style/PhaseTextView.List"
android:width="0px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="head" />
<TextView
android:id="@+id/txt_PhaseListNote"
android:layout_weight="5"
android:gravity="left"
android:text="er"
style="@style/PhaseTextView.List"
android:width="0px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dp" />
</LinearLayout>
</TableRow>
<TableRow
android:id="@+id/row_StepList"
android:layout_weight="1"
android:layout_width="fill_parent"
android:background="#ff9abf2f"
android:layout_height="wrap_content">
<ListView
android:id="@+id/list_Steps"
android:layout_span="3"
android:listSelector="#44ff0000"
android:drawSelectorOnTop="true"
android:choiceMode="singleChoice"
android:layout_width="fill_parent" />
</TableRow>
<TableRow
android:id="@+id/row_PhaseDescHeader"
style="@style/PhaseHeaderRow"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txt_PhaseDescHeader"
style="@style/PhaseHeader"
android:text="Header 2" />
</TableRow>
<TableRow
android:id="@+id/row_TesterActionLabel"
style="@style/PhaseRow.ListHeader"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txt_TesterActionLabel"
android:text="SubHeader"
style="@style/PhaseTextView.List"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:id="@+id/row_TesterAction"
style="@style/PhaseRow"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:id="@+id/scroller_TesterAction"
android:layout_weight="1"
android:scrollbars="vertical"
android:fillViewport="true"
android:layout_span="3"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/txt_TesterAction"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="15sp"
android:ellipsize="start"
android:text="ScollView with TextView Inside" />
</ScrollView>
</TableRow>
<TableRow
android:id="@+id/row_ExitCriteraLabel"
style="@style/PhaseRow.ListHeader"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txt_ExitCriteraLabel"
android:text="SubHeader"
style="@style/PhaseTextView.List"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:id="@+id/row_ExitCritera"
style="@style/PhaseRow"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:id="@+id/scroller_ExitCritera"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical"
android:fillViewport="true"
android:layout_span="3">
<TextView
android:id="@+id/txt_ExitCritera"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="15sp"
android:ellipsize="start"
android:text="Another ScollView with TextView Inside" />
</ScrollView>
</TableRow>
<TableRow
android:id="@+id/row_PhaseNotesHeader"
style="@style/PhaseHeaderRow">
<TextView
android:id="@+id/txt_PhaseNotesHeader"
style="@style/PhaseHeader"
android:text="Header 3" />
</TableRow>
<!-- -->
<TableRow
android:id="@+id/row_Notes"
style="@style/PhaseRow"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:id="@+id/scroller_Notes"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical"
android:fillViewport="true"
android:layout_span="3">
<TextView
android:id="@+id/txt_Notes"
android:layout_width="fill_parent"
android:textSize="17sp"
android:layout_height="wrap_content"
android:text="Yet another ScollView with TextView Inside"
android:singleLine="false"
android:ellipsize="none" />
</ScrollView>
</TableRow>
</TableLayout>
</TableLayout>

最佳答案

enter image description here

<LinearLayout 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:orientation="vertical" >

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#a3c3c3"
android:orientation="vertical" >

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#B40404"
android:orientation="horizontal" >

<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Header1"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#F78181"
android:orientation="horizontal" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub1"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub2"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub3"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>

<LinearLayout
android:id="@+id/ln1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_weight="1"
android:background="#a3c3c3" >

<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#F78181"
android:text="sub Header1"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>

<LinearLayout
android:id="@+id/ln1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_weight="1"
android:background="#a3c3c3" >

<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
</ListView>
</LinearLayout>
</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#a3c3c3"
android:orientation="vertical" >

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#B40404"
android:orientation="horizontal" >

<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Header2"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#F78181"
android:orientation="horizontal" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub1"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub2"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub3"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>

<LinearLayout
android:id="@+id/ln1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/textView1"
android:background="#a3c3c3" android:layout_weight="1">

<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />

</LinearLayout>
</ScrollView>

</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#F78181"
android:orientation="horizontal" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sub2"
android:textAppearance="?android:attr/textAppearanceLarge" android:layout_weight="1"/>

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub2"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub3"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>

<LinearLayout
android:id="@+id/ln1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/textView1"
android:background="#a3c3c3" android:layout_weight="1">

<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />

</LinearLayout>
</ScrollView>

</LinearLayout>

</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#a3c3c3"
android:orientation="vertical" >

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#B40404"
android:orientation="horizontal" >

<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Header3"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#F78181"
android:orientation="horizontal" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub1"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub2"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sub3"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>

<LinearLayout
android:id="@+id/ln1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:background="#a3c3c3" >
</LinearLayout>

<LinearLayout
android:id="@+id/ln1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_weight="1"
android:background="#a3c3c3" >

<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />

</LinearLayout>
</ScrollView>

</LinearLayout>
</LinearLayout>

</LinearLayout>

关于安卓布局。权重、 ScrollView 、 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13610830/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com