广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    listview Button始终放在底部示例

    2018-04-09 07:41:08 次阅读 稿源:互联网
    广告
    android实现底部布局往往使用RelativeLayout的布局方式,并且设置android:layout_alignParentBottom=”true”,这样很容易实现底部布局。然而对于比较复杂的布局简单的属性设置无法达到这样的效果,例如top,center,bottom三层的布局,很可能因为中间层(center)的数据太多而将无法显示全或者将bottom层挤下去。解决这个问题,在采用RelativeLayout布局时,除了设置android:layout_alignParentBottom=”true”外,还需要对中间层进行属性进行设置:android:layout_above=”@id/bottom”
    android:layout_below=”@id/top”。这样的设置即确保center层能处于中间位置,也可以通过自适应显示滚动条。

    以下的例子就是实现三层布局的底部布局的功能。如图1,2。
     
    图-1 三层的底部布局界面
     
    图 2 弹出输入法时显示的底部按钮
    项目只是实现主要的数据填充及布局,故只是简单的文件加载。以下是源码:
    BottomTestActivity.java
    代码如下:

    package com.BottomTest.main;

    import java.util.ArrayList;
    import java.util.HashMap;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;

    publicclass BottomTestActivityextends Activity {

    /** Called when the activity is first created. */
    @Override
    publicvoid onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ListView list = (ListView) findViewById(R.id.friends);
    //存储数据的数组列表
    ArrayList<HashMap<String, Object>> listData=new ArrayList<HashMap<String,Object>>();
    String []name={"William","Charles","Linng","Json","Bob","Carli"};
    String []id={"12","16","33","21","34","22"};
    for(int i=0;i<6;i++){
    HashMap<String, Object> map=new HashMap<String, Object>();
    map.put("friend_image", R.drawable.icon);
    map.put("friend_username", name[i]);
    map.put("friend_id", id[i]);
    listData.add(map);
    }
    //适配器
    SimpleAdapter listItemAdapter=new SimpleAdapter(this,
    listData,
    R.layout.item,
    new String[] {"friend_image","friend_username","friend_id" },
    newint[] { R.id.friend_image, R.id.friend_username, R.id.friend_id });
    list.setAdapter(listItemAdapter);
    }
    }

    主要布局文件
    main.xml
    代码如下:

    <?xmlversion="1.0"encoding="utf-8"?>
    <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RelativeLayoutandroid:id="@+id/bottom"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
    <LinearLayoutandroid:id="@+id/top"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <EditTextandroid:id="@+id/view_user_input"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="6dip"
    android:layout_marginLeft="12dip"
    android:singleLine="true"
    android:numeric="integer"
    android:imeOptions="actionDone"
    android:hint="输入用户ID"
    android:layout_weight="1"/>
    <Buttonandroid:id="@+id/view_user"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="4dip"
    android:layout_weight="3"
    android:text="查看"/>
    </LinearLayout>
    <LinearLayoutandroid:id="@+id/center"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_above="@id/bottom"
    android:layout_below="@id/top">
    <TextViewandroid:id="@+id/my_friends_list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="好友列表"
    android:paddingTop="6dip"
    android:paddingLeft="2dip"
    android:layout_marginLeft="10dip"/>
    <ListViewandroid:id="@+id/friends"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="6dip"/>
    </LinearLayout>
    <LinearLayoutandroid:id="@+id/bottom"
    android:background="@drawable/bg"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_alignParentBottom="true" >
    <Buttonandroid:id="@+id/refresh"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="2dip"
    android:text="刷新用户列表"
    android:layout_weight="1"/>
    <Buttonandroid:id="@+id/back"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="2dip"
    android:text="返回"
    android:layout_weight="1"/>
    </LinearLayout>
    </RelativeLayout>
    </LinearLayout>

    listview item内容的布局文件
    item.xml
    代码如下:

    <?xmlversion="1.0"encoding="utf-8"?>
    <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="4dip"
    android:paddingRight="12dip">
    <ImageViewandroid:id="@+id/friend_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="6dip"
    android:paddingLeft="2dip"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"/>
    <TextViewandroid:id="@+id/friend_username"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="18dip"
    android:textColor="#ccc"
    android:paddingTop="6dip"
    android:paddingRight="2dip"
    android:layout_toRightOf="@id/friend_image" />
    <TextViewandroid:id="@+id/friend_id"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/friend_username"
    android:layout_marginRight="36dip"
    android:paddingRight="2dip"
    android:layout_toRightOf="@id/friend_image"
    android:textColor="#fff"
    android:maxLines="2"/>
    </RelativeLayout>

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告