我的屏幕上有一个按钮,一个textView和一个scrolView。我需要按钮和textView在顶部彼此相邻,并在它们下面的scrolView。如何专业地在屏幕上安排意见?!
这就是我所做的:
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:textDirection="inherit"
tools:context=".MainActivity" >
<Button
android:id="@+id/btnScanAndDraw"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="@string/btnShoePosition"
android:textSize="12sp"
android:onClick="ScanAndDraw"/>
<TextView
android:id="@+id/txvMain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="end">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/imgViewMap"/>
</LinearLayout>
</ScrollView>
答案 0 :(得分:0)
不确定你想要什么。如果您要询问与布局相关的问题,请发布截图。如果我理解你的问题,解决方法如下。
您使用的是LinearLayout
,它只有两个方向(垂直和水平)。 Click here了解LinearLayout
。如果您想以相对方式排列UI,请使用RelativeLayout
。 RelativeLayout。我已经使用一些新属性更改了您的代码。它没有经过测试,但它可以为您提供所需的输出。
<RelativeLayout
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"
tools:context=".MainActivity" >
<TextView
android:id="@+id/txvMain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"/>
<Button
android:id="@+id/btnScanAndDraw"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="@string/btnShoePosition"
android:textSize="12sp"
android:onClick="ScanAndDraw"
android:layout_toRightOf="@+id/txvMain/>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below = "@+id/txvMain
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/imgViewMap"/>
</LinearLayout>
</ScrollView>
</RelativeLayout>
答案 1 :(得分:0)
我为Android app开发了一本书。读完这本书后,我意识到有几个LinearLayout可以相互进入。使用LinearLayout的这个层次结构,我可以在.XML文件中排列视图。例如,我安排了一个根LinearLayout,它本身包含3个LinearLayouts。对于顶部的按钮,我写道:
android:gravity="right"
然后按钮就在右上方。对于ImageView - 在按钮下 - 我实现了另一个LinearLayout,里面有这行代码来水平居中ImageView:
android:gravity="center_horizontal"
在这种形式中 - 正如我所说 - 使用内部LinearLayouts和重力,可以按预期在屏幕上排列视图。
可能对某人有用:)