不多讲直接上代码

1.Activity 对应的布局文件如下:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:fadingEdge="vertical"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="10dp"
android:id="@+id/funtable"> </LinearLayout> </ScrollView>

2.Activity 实现类

package com.test.appdemo1.actlearn;

import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import com.test.appdemo1.R;
import com.test.appdemo1.R.string; /**
* 功能学习
* @package com.test.appdemo1.actlearn
* @author Administrator
* @date 2014-3-1 下午11:16:31
*/
public class FunPageActivity extends Activity { private LinearLayout funListView = null; private Builder dialog = null; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.funtest);
funListView = (LinearLayout)findViewById(R.id.funtable);
dialog = new Builder(this);
initGridView();
} /**
*初使化UI
*/
private void initGridView() {
int ii = 1008601;int idx = 1;
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT,1f);
for(int i=1;i<=9;i++){
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.HORIZONTAL);
for(int j=1;j<=3;j++){
Button btn = new Button(this);
String key = "funPageBtn"+idx;idx++;
btn.setText(getString(getStringVal(key)));
Log.d("FUNCTION",key);
btn.setId(ii++);
btn.setOnClickListener(new BtnClick());
layout.addView(btn,param);
}
funListView.addView(layout);
} } /**
* 按纽单击处理
*/
class BtnClick implements OnClickListener{
public void onClick(View v) {
Button btn = (Button)v;
//简单显示会话框
showDialog(""+btn.getText(),btn.getText().toString()+"=="+btn.getId());
}
} /**
* 通过 R.string 类的属性名获取属性值
* @param str
* @return
*/
public int getStringVal(String str){
try{
Class<string> cls = R.string.class;
return cls.getDeclaredField(str).getInt(null);
}catch(Exception ex){
ex.printStackTrace();
}
return 0;
} /**
* 会话框
* @param title
* @param msg
*/
private void showDialog(String title,String msg){
dialog.setIcon(R.drawable.ic_launcher).setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
arg0.cancel();
}
}).setTitle(title).setMessage(msg).show();
}
}

3.资源文件部分如下:

 <string name="funPageBtn1">底部选项卡</string>
<string name="funPageBtn2">Fun 2</string>
<string name="funPageBtn3">Fun 3</string>
<string name="funPageBtn4">Dialog Test</string>
<string name="funPageBtn5">Fun 2</string>
<string name="funPageBtn6">Fun 3</string>
<string name="funPageBtn7">Dialog Test</string>
<string name="funPageBtn8">Fun 2</string>
<string name="funPageBtn9">Fun 3</string>
<string name="funPageBtn10">Dialog Test</string>
<string name="funPageBtn11">Fun 2</string>
<string name="funPageBtn12">Fun 3</string>
<string name="funPageBtn13">Dialog Test</string>
<string name="funPageBtn14">Fun 2</string>
<string name="funPageBtn15">Fun 3</string>
<string name="funPageBtn16">Dialog Test</string>
<string name="funPageBtn17">Fun 2</string>
<string name="funPageBtn18">Fun 3</string>
<string name="funPageBtn19">Dialog Test</string>
<string name="funPageBtn20">Fun 2</string>
<string name="funPageBtn21">Fun 3</string>
<string name="funPageBtn22">Dialog Test</string>
<string name="funPageBtn23">Fun 2</string>
<string name="funPageBtn24">Fun 3</string>
<string name="funPageBtn25">Dialog Test</string>
<string name="funPageBtn26">Fun 2</string>
<string name="funPageBtn27">Fun 3</string>

4.效果

共同学习进步!

在LinearLayout中实现列表,列表采用LinearLayout横向布局-android学习的更多相关文章

  1. 飞流直下的精彩 -- 淘宝UWP中瀑布流列表的实现

    在淘宝UWP中,搜索结果列表是用户了解宝贝的重要一环,其中的图片效果对吸引用户点击搜索结果,查看宝贝详情有比较大的影响.为此手机淘宝特意在搜索结果列表上采用了2种表现方式:一种就是普通的列表模式,而另 ...

  2. 如何:在 SharePoint 中创建外部列表

    在创建外部内容类型后创建外部列表是一项非常简单的任务,有如下4种方式进行: 可使用 Microsoft SharePoint Designer 2010 浏览器来完成 VS2010的列表实例 采用代码 ...

  3. 集合映射中的映射列表(使用xml文件)

    如果持久化类具有List对象,我们可以通过映射文件中的类的<list>元素或注释来映射List. 在这里,我们正在使用论坛的场景,其中一个问题有多个答案. 在这里,我们使用论坛的场景,其中 ...

  4. Andriod中textview垂直水平居中及LinearLayout内组件的垂直布局

    1.textview 垂直水平居中的设置 Android:gravity="center_vertical|center" 2.LinearLayout中设置控件垂直布局,默认的是 ...

  5. 从下拉菜单拖拽一个元素 出来,插入到页面中的app 列表中

    1,实现功能:从下拉菜单拖拽一个元素 出来,插入到页面中的app 列表中 并实现app向后移动一个元素的位置: 2.实现思路: 01.遍历下拉菜单,添加拖拽方法,实现位置移动功能: 02.遍历app列 ...

  6. 【循序渐进学Python】2. Python中的序列——列表和元组

    序列概览 在Python中有六种内建的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.在这里暂时只讨论列表和元组.列表和元组的主要区别在于:列表可以修改,元组(不可 ...

  7. C# 中获取时区列表

    c#中获取时区列表 下面方法获得的仅仅用来显示和使用,无法用来进行时间转换. public static List<DisplayTimeZone> GetSystemTimeZones( ...

  8. java中把list列表转为arrayList以及arraylist数组截取的简单方法

    java中把list列表转为arrayList以及arraylist数组截取的简单方法 package xiaobai; import java.util.ArrayList; import java ...

  9. delphi中获得进程列表或想要的进程(枚举进程、遍历进程)

    一个常见的编程任务是枚举所有运行的"应用程序".Windows 任务管理器就是一个很好的例子.它用两种方式列出"应用程序".任务管理器的第一个选项卡列出桌面上的 ...

随机推荐

  1. 优化SQL Server数据库查询方法

    SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列 ...

  2. 技术贴 本地代码与svn关联教程 svn upgrade问题解决

    背景: 以前从SVN上下载了项目源码,可是SVN抽风了,死活不显示我修改了哪些代码 自己从别人机器上搞来了项目源码,没有svn版本控制,但是svn上面有这些源码 如上两种,我想关联一下,把我本地的代码 ...

  3. uva 701

    参考了一下http://hi.baidu.com/renxl51/item/e80b688f9f54aadd5e0ec1de 给一个数字x,求最小的正整数e,使得pow(2,e) == x*pow(1 ...

  4. POJ3273Monthly Expense(二分)

    http://poj.org/problem?id=3273 题意: 农夫约翰给出了n天的每天花费 ,让你将这n天分成m组,每组中存在的天数必须是连续的,然后让每组里花费的总和尽量的小,最后将花费最大 ...

  5. Java中的try、catch、finally块简单的解析

    package com.wangzhu; import java.util.HashMap; import java.util.Map; /** * 在try.catch.finally块中,若try ...

  6. [itint5]下一个排列

    http://www.itint5.com/oj/#6 首先,试验的时候要拿5个来试,3,4个都太少了.好久没做所以方法也忘了,是先从后往前找到第一个不合顺序的,然后在后面找到比这个大的最小的来交换, ...

  7. C++遍历目录,并把目录里超过7天的文件删除(跨平台windows&linux)

    C++遍历目录,并把目录里超过7天的文件删除,适用于项目里删除过期的日志,或者视频文件. 在windows和linux下测试通过. windows测试结果: linux测试结果: 源码: #inclu ...

  8. (转)CSS+DIV float 定位

    来自:http://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html 很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能 ...

  9. 修改VMware Workstation 界面语言

    修改方法 我安装的VMware版本是10,找到VMware安装目录,我的是C:\Program Files\VMware\VMware Workstation\messages,里面有ja和zh-cn ...

  10. Android开发之使用AlertDialog创建对话框,单选框和多选框

    对话框: 对话框的icon,title,message等都可以不设置. 单选框和多选框与对话框勾选步骤基本上一致. 对话框的构建步骤: 1.使用AlertDialog类的内部类Builder类new ...