Android开发初学者之简单的列表实现
2017-11-06 11:39
309 查看
2017.11.6
<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="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<!-- android:numColumns="auto_fit"-自适应(根据屏幕的宽度,规则,当程序运行到某一个手机上时根据手机的屏幕总宽度进行平分) -->
<GridView
android:id="@+id/gv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="6"
android:columnWidth="10dp"
android:horizontalSpacing="10dp"
>
</GridView>
<Spinner
android:id="@+id/sr"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
新建item.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:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv"
android:layout_width="50dp"
android:layout_height="50dp"
android:scaleType="fitXY"
/>
<TextView
android:id="@+id/tv"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="15sp"
/>
</LinearLayout>
MainActivity.java文件代码
package com.day_11_6;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends Activity {
private GridView gv;
private ImageView iv;
private TextView tv;
private Spinner sr;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gv=(GridView)this.findViewById(R.id.gv);
gv.setAdapter(new MyAdapter());
sr=(Spinner)this.findViewById(R.id.sr);
sr.setAdapter(new MyAdapter());
}
class MyAdapter extends BaseAdapter
{
int[] Images={R.drawable.a1,
R.drawable.a2,
R.drawable.a3,
R.drawable.a4,
R.drawable.a5,
R.drawable.a6,
R.drawable.a7,
R.drawable.a8};
@Override0
public int getCount() {
return Images.length; //返回数组的长度
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
//重复利用
if(arg1==null)
{
//获得
LayoutInflater inflater=LayoutInflater.from(Main
4000
Activity.this);
arg1=inflater.inflate(R.layout.item,null);
}
ImageView iv=(ImageView)arg1.findViewById(R.id.iv);
TextView tv=(TextView)arg1.findViewById(R.id.tv);
iv.setImageResource(Images[arg0]);
tv.setText("App"+arg0);
return arg1;
}
}
}
列表&下拉列表
MainActivity.xml布局代码<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="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<!-- android:numColumns="auto_fit"-自适应(根据屏幕的宽度,规则,当程序运行到某一个手机上时根据手机的屏幕总宽度进行平分) -->
<GridView
android:id="@+id/gv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="6"
android:columnWidth="10dp"
android:horizontalSpacing="10dp"
>
</GridView>
<Spinner
android:id="@+id/sr"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
新建item.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:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv"
android:layout_width="50dp"
android:layout_height="50dp"
android:scaleType="fitXY"
/>
<TextView
android:id="@+id/tv"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="15sp"
/>
</LinearLayout>
MainActivity.java文件代码
package com.day_11_6;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends Activity {
private GridView gv;
private ImageView iv;
private TextView tv;
private Spinner sr;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gv=(GridView)this.findViewById(R.id.gv);
gv.setAdapter(new MyAdapter());
sr=(Spinner)this.findViewById(R.id.sr);
sr.setAdapter(new MyAdapter());
}
class MyAdapter extends BaseAdapter
{
int[] Images={R.drawable.a1,
R.drawable.a2,
R.drawable.a3,
R.drawable.a4,
R.drawable.a5,
R.drawable.a6,
R.drawable.a7,
R.drawable.a8};
@Override0
public int getCount() {
return Images.length; //返回数组的长度
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
//重复利用
if(arg1==null)
{
//获得
LayoutInflater inflater=LayoutInflater.from(Main
4000
Activity.this);
arg1=inflater.inflate(R.layout.item,null);
}
ImageView iv=(ImageView)arg1.findViewById(R.id.iv);
TextView tv=(TextView)arg1.findViewById(R.id.tv);
iv.setImageResource(Images[arg0]);
tv.setText("App"+arg0);
return arg1;
}
}
}
相关文章推荐
- Android开发之ListView,加入CheckBox(复选框),实现选择列表
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 初学者对通讯录软件开发的整体把握与分块实现------添加列表新内容并实现界面的跳转
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnetList 所有评论列表的功能实现
- android网游开发之socket的简单设计和实现
- android游戏开发框架libgdx的使用(十八)—简单的AVG游戏效果实现
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- Android中可增删联系人列表的简单实现
- android列表【android开发记录片】android下实现圆角列表布局控件
- Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh)
- Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh)
- (转)【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 【android开发记录片】android下实现圆角列表布局控件
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 初学者对通讯录软件开发的整体把握与分块实现----显示用户列表
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- android网游开发之socket的简单设计和实现
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh)