【问题标题】:I want to add scroll to multiple linear layouts in android and also want to place buttons at bottom我想在android中添加滚动到多个线性布局,还想在底部放置按钮
【发布时间】:2014-04-23 10:42:14
【问题描述】:

将多个线性布局放在一个滚动视图中的方法是什么,同时我希望底部有 4 个按钮用于应该保留在条形或菜单中的操作。任何人都可以指导我以正确的方式处理这个问题。我是 Android 的新手,我试图在论坛和网站上探索这个,但我到处都看到滚动视图只能管理一个孩子,但我有多个带有文本字段的线性布局。
我附上一张图片来解释一下。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingLeft="25dip"
    android:paddingRight="25dip"
    android:paddingTop="25dip" >

    <EditText
        android:id="@+id/txtVehicleNo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/vehicle_no"
        android:inputType="textPersonName" />

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingLeft="25dip"
    android:paddingRight="25dip"
    android:paddingTop="25dip" >

    <EditText
        android:id="@+id/txtViolationCode"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/violation_code"
        android:inputType="textPersonName" />

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingLeft="25dip"
    android:paddingRight="25dip"
    android:paddingTop="25dip" >

    <EditText
        android:id="@+id/txtReceiptNo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/receipt_no"
        android:inputType="textPersonName" />

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingLeft="25dip"
    android:paddingRight="25dip"
    android:paddingTop="25dip" >

    <EditText
        android:id="@+id/txtFineAmount"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/fine_amount"
        android:inputType="textPersonName" />

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingLeft="25dip"
    android:paddingRight="25dip"
    android:paddingTop="25dip" >

    <EditText
        android:id="@+id/txtPreviousDetails"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/previous_details"
        android:inputType="textPersonName" />

</LinearLayout>

【问题讨论】:

  • 在此处发布您的布局 xml ...
  • @MuhammadAtifAgha,用我的回答。它满足您的所有要求。
  • 我不知道谁给我打了-1,这个问题在stackoverflow上是没有的,它也是非常知识的提供者。悲观无处不在!!!

标签: android android-layout android-intent android-listview


【解决方案1】:

嘿,我想我来晚了,请看下面的答案。它工作正常并经过我的测试。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <ScrollView
        android:id="@+id/scrollview"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:layout_height="0dp" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/txtVehicleNo"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="vehicle_no"
                android:inputType="textPersonName" />

            <EditText
                android:id="@+id/txtViolationCode"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="violation_code"
                android:inputType="textPersonName" />

            <EditText
                android:id="@+id/txtReceiptNo"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="receipt_no"
                android:inputType="textPersonName" />

            <EditText
                android:id="@+id/txtFineAmount"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="fine_amount"
                android:inputType="textPersonName" />

            <EditText
                android:id="@+id/txtPreviousDetails"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="previous_details"
                android:inputType="textPersonName" />

            <EditText
                android:id="@+id/editText1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10" >

                <requestFocus />
            </EditText>

            <EditText
                android:id="@+id/editText2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10" />

            <EditText
                android:id="@+id/editText3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10" />

            <EditText
                android:id="@+id/editText4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10" />

            <EditText
                android:id="@+id/editText5"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10" />

            <EditText
                android:id="@+id/editText6"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10" />

            <EditText
                android:id="@+id/editText7"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10" />
        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="10dp"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="profile"
            android:textColor="#ff00ff" />

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="submit"
            android:textColor="#ff00ff" />

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="logout"
            android:textColor="#ff00ff" />

        <Button
            android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="exit"
            android:textColor="#ff00ff" />
    </LinearLayout>

</LinearLayout>

更新:

正如您所说,您想在操作栏中添加项目,因此请按照简单的步骤进行操作。

main.xml下面添加到菜单文件夹:-

<menu xmlns:android="http://schemas.android.com/apk/res/android" >



      <item
            android:id="@+id/action_search"
            android:icon="@drawable/male1"
            android:showAsAction="ifRoom"
            android:title="action_search"/>
        <item
            android:id="@+id/as"
            android:icon="@drawable/picture"
            android:showAsAction="never"
            android:title="as"/>

    </menu>

在你的 Activity 中覆盖 onCreateOptionsMenu(Menu menu):

package com.rk.aatest;

import android.view.Menu;
import android.view.MenuInflater;
import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity   {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu items for use in the action bar
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        return super.onCreateOptionsMenu(menu);
    }
}

查看演示的输出屏幕截图:

【讨论】:

  • 滚动视图工作正常,但按钮没有出现在底部,我希望它们在任何滚动位置都可见意味着绝对。
  • 告诉我将这些功能放在操作栏中会更好吗?
  • 表示您想将操作栏中的选项卡用作按钮?
  • 是的,我必须执行个人资料、图片、搜索、提交、注销等功能
  • 谢谢罗比,上帝保佑你。
【解决方案2】:
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rlHomeMain"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:orientation="vertical" >

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

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:orientation="horizontal"
            android:paddingLeft="25dip"
            android:paddingRight="25dip"
            android:paddingTop="25dip" >

            <EditText
                android:id="@+id/txtVehicleNo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPersonName" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingLeft="25dip"
            android:paddingRight="25dip"
            android:paddingTop="25dip" >

            <EditText
                android:id="@+id/txtViolationCode"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPersonName" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingLeft="25dip"
            android:paddingRight="25dip"
            android:paddingTop="25dip" >

            <EditText
                android:id="@+id/txtReceiptNo"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPersonName" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingLeft="25dip"
            android:paddingRight="25dip"
            android:paddingTop="25dip" >

            <EditText
                android:id="@+id/txtFineAmount"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPersonName" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingLeft="25dip"
            android:paddingRight="25dip"
            android:paddingTop="25dip" >

            <EditText
                android:id="@+id/txtPreviousDetails"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPersonName" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>

<LinearLayout
    android:id="@+id/llbottom"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_gravity="center"
    android:gravity="center"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/btnsave"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="3dp"
        android:text="profile" />

    <Button
        android:id="@+id/btncancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="3dp"
        android:text="submit" />

    <Button
        android:id="@+id/btncancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:text="logout"
        android:layout_marginTop="3dp" />

    <Button
        android:id="@+id/btncancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:text="exit"
        android:layout_marginTop="3dp" />
</LinearLayout>

【讨论】:

    【解决方案3】:

    这是你的解决方案

       <?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"
    >
    <ScrollView 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true"
        >
        <LinearLayout 
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            >
           <!--  Add your chail views here  -->
            <LinearLayout 
             android:layout_width="fill_parent"
            android:layout_height="wrap_content"
                ></LinearLayout>
              <LinearLayout 
             android:layout_width="fill_parent"
            android:layout_height="wrap_content"
                ></LinearLayout>
        </LinearLayout>
    
    </ScrollView>    
    
    
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal"
        android:gravity="center"
        >
    
        <Button 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:text="first"
            />
         <Button 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:text="second"
            android:layout_marginLeft="10dp"
            />
          <Button 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:text="third"
             android:layout_marginLeft="10dp"
            />
           <Button 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:text="fourth"
             android:layout_marginLeft="10dp"
            />
    
            />
    </LinearLayout>
    </RelativeLayout>
    

    【讨论】:

    • 但我有多个具有字段的线性布局。
    • 在滚动视图下你只能有一个直接视图你可以这样做我正在编辑我的答案等待
    • 太好了,滚动效果很好,下面的按钮呢,我应该将它们放在按钮中还是应该放在操作栏中,请提供代码指导,谢谢。
    • 您可以使用 Tab 主机或按钮
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多