我的ListView
由三个TextViews
组成,比如T1,T2和T3。我还有两个按钮,B1和B2
我希望他们像这样出现:
B1 [按钮之间的间距] B2
T1
T2
T3
T1等屏幕下的屏幕上,而不仅仅是B1。
下面是我的xml,我试图根据SO上的问题答案进行更改。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Left Button"
/>
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Right Button"
/>
</LinearLayout>
<TextView
android:id="@+id/engText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp"
android:typeface="serif"/>
<TextView
android:id="@+id/arabText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp"
android:typeface="sans"
/>
<TextView
android:id="@+id/refText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp" />
<ListView
android:id="@+id/hadithView"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</RelativeLayout>
任何人都可以帮忙。 谢谢
修改
我正在使用CursorAdapter
来填充视图。用TextViews
重复B1和B2。我想保持B1和B2在顶部(固定)并能够滚动文本视图(没有自己的按钮)
编辑2 我修复了按钮问题。虽然我也需要在顶部固定两个按钮。我删除了它们,现在有两个带有文本视图的按钮,这是我以后需要的。
现在,文本正相互强加。
这是我的新xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button"
android:layout_width="0sp"
android:layout_weight="0.5"
android:layout_height="wrap_content"
android:text="Left Button" />
<Button
android:id="@+id/button2"
android:layout_width="0sp"
android:layout_weight="0.5"
android:layout_height="wrap_content"
android:text="Right Button" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/engText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp"
android:typeface="serif"/>
<TextView
android:id="@+id/arabText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp"
android:typeface="sans"
/>
<TextView
android:id="@+id/refText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp" />
</RelativeLayout>
</LinearLayout>
答案 0 :(得分:1)
这是一个非常快速的修复 - 但它提供了你想要的东西。基本上:您的列表视图正在接管整个屏幕 - 根据您的问题,您似乎不需要它。您可以在顶部使用ListView,将空TextView作为“空间”,但是您必须在TextViews下面给出它们应放置在RelativeLayout(您的主布局)中的位置。我已经快速添加了关于LinearLayout(对于第一个TextView)的属性,然后针对以上所有的上面的TextView。你可以采用不同的方式 - 一般来说,我认为,你应该在android中查找xml文件的文档和/或只是玩一下。这一切都很合乎逻辑,但是当我开始时我也很挣扎。这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linLay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:text="Left Button"
/>
<TextView
android:layout_width="10dp"
android:layout_height="wrap_content"
android:layout_weight="0.1"/>
<Button
android:id="@+id/button2"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:text="Right Button"
/>
</LinearLayout>
<TextView
android:id="@+id/engText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:layout_below="@+id/linLay"
android:layout_marginTop="10dp"
android:textSize="15sp"
android:text="My dummy text"
android:typeface="serif"/>
<TextView
android:id="@+id/arabText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:layout_below="@+id/engText"
android:layout_marginTop="10dp"
android:textSize="15sp"
android:text="My dummy text"
android:typeface="sans"
/>
<TextView
android:id="@+id/refText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:layout_below="@+id/arabText"
android:layout_marginTop="10dp"
android:textSize="15sp"
android:text="My dummy text"/>
</RelativeLayout>
答案 1 :(得分:0)
您可以使用RelativeLayout
并将不同的RelativeLayout
部分相对于彼此保留,并使用其属性layout_below
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
//give some id
android:id="@+id/one">
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Left Button"
/>
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Right Button"
/>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/one">
<TextView
android:id="@+id/engText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp"
android:typeface="serif"/>
<TextView
android:id="@+id/arabText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp"
android:typeface="sans"
/>
<TextView
android:id="@+id/refText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp" />
<ListView
android:id="@+id/hadithView"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
答案 2 :(得分:0)
看起来你应该使用LinearLayout而不是RelativLayout。 因为您的商品的顺序只是线性垂直排序。 这是代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Left Button"
/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Right Button"
/>
</LinearLayout>
<TextView
android:id="@+id/engText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp"
android:text="T1"
android:typeface="serif"/>
<TextView
android:id="@+id/arabText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp"
android:text="T2"
android:typeface="sans"
/>
<TextView
android:id="@+id/refText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:text="T3"
android:textSize="15sp" />
<ListView
android:id="@+id/hadithView"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
答案 3 :(得分:0)
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Left Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Right Button" />
</LinearLayout>
这样做会将两个按钮设置为彼此相邻,然后您可以将所有下面的元素放在此linearlayout下。
所做的更改:
如果你想在按钮之间留出更多的空间,就像这样在左边的按钮上放一个边距。
android:layout_marginRight="32dp"
android:layout_marginEnd="32dp"
答案 4 :(得分:0)
修正了问题。
这是我与F:\Projects\MyCLIProject>ng version
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
@angular/cli: 1.4.1
node: 8.4.0
os: win32 x64
@angular/animations: 4.3.6
@angular/common: 4.3.6
@angular/compiler: 4.3.6
@angular/core: 4.3.6
@angular/forms: 4.3.6
@angular/http: 4.3.6
@angular/platform-browser: 4.3.6
@angular/platform-browser-dynamic: 4.3.6
@angular/router: 4.3.6
@angular/cli: 1.4.1
@angular/compiler-cli: 4.3.6
@angular/language-service: 4.3.6
typescript: 2.3.4
F:\Projects\MyCLIProject>npm --version
5.3.0
CursorAdapter
这是我的<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button"
android:layout_width="0sp"
android:layout_weight="0.5"
android:layout_height="wrap_content"
android:text="Left Button" />
<Button
android:id="@+id/button2"
android:layout_width="0sp"
android:layout_weight="0.5"
android:layout_height="wrap_content"
android:text="Right Button" />
</LinearLayout>
<TextView
android:id="@+id/engText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp"
android:typeface="serif"/>
<TextView
android:id="@+id/arabText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp"
android:typeface="sans"
/>
<TextView
android:id="@+id/refText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10sp"
android:textSize="15sp" />
</LinearLayout>
xml:
Activity
谢谢大家的回复。