第一行代码 -3-1 软件也要拼脸蛋-UI界面



<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>


private String[] data={"a","b","c","e"};
@Override // 主界面初始构造函数
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(FirstActivity.this,"你点击了按钮1",Toast.LENGTH_SHORT).show();
ArrayAdapter<String> adapter= new ArrayAdapter<String>(FirstActivity.this,android.R.layout.simple_list_item_1,data);
ListView listview=(ListView)findViewById(R.id.list_view);
listview.setAdapter(adapter);
}
});
}




定制界面流程





package com.example.student.activitytest; /**
* Created by student on 2018/6/16.
*/ public class Fruit { private String name;
private int imageId; public Fruit(String name,int imageId){
this.imageId=imageId;
this.name=name;
} public String getName(){
return name; } public int getImageId(){
return imageId; } }



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"> <ImageView android:id="@+id/fruit_image"
android:layout_height="wrap_content"
android:layout_width="match_parent"
/> <TextView android:id="@+id/fruit_name"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"
/> </LinearLayout>



package com.example.student.activitytest; import android.content.Context;
import android.media.Image;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView; import java.util.List; /**
* Created by student on 2018/6/16.
*/ public class FruitAdapter extends ArrayAdapter<Fruit>{ // 修改1:输入条目类型-自定义水果 名字 + 图片ID private int resourceId;// 水果定制布局 实参 fruit_item.xml
// 输入
// 参数1:总布局
// 参数2:水果定制布局 实参 fruit_item.xml
// 参数3:水果内容信息 名 + 图片Id
public FruitAdapter(Context context, int textViewResourceId, List<Fruit> objects){ //修改2:输入条目类型-自定义水果 名字 + 图片ID
super(context,textViewResourceId);
resourceId=textViewResourceId;// 水果定制布局 实参 fruit_item.xml } @Override
public View getView(int position, View convertView , ViewGroup parent){ Fruit fruit=getItem(position);// 修改3 -1 获当前是第几个水果 View view= LayoutInflater.from(getContext()).inflate(resourceId,parent,false);// 3 -2 赋予水果定制布局 ImageView fruitImage=(ImageView)view.findViewById(R.id.fruit_image);// 修改3 -3分别将当前这个水果信息给对应控件
TextView fruitName=(TextView)view.findViewById(R.id.fruit_name);
fruitImage.setImageResource(fruit.getImageId());
fruitName.setText(fruit.getName());
return view; } }







// 1-1水果内容
private List<Fruit> fruitList=new ArrayList<>();
// 1-2水果内容赋值
private void initFruits(){ for(int i=0;i<4;i++){ Fruit a=new Fruit("a",R.drawable.a);
fruitList.add(a);
Fruit b=new Fruit("a",R.drawable.c);
fruitList.add(b);
Fruit c=new Fruit("a",R.drawable.d);
fruitList.add(c);
} }
@Override // 主界面初始构造函数
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout); // 1-2水果内容赋值
initFruits();
// 2-1水果布局定制 水果定制适配器+ 水果内容=新的水果列表
FruitAdapter adapter= new FruitAdapter(FirstActivity.this,R.layout.fruit_item,fruitList);
// 3 创建显示列表,将适配后的水果显示
ListView listview=(ListView)findViewById(R.id.list_view);
listview.setAdapter(adapter); Button button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(FirstActivity.this,"你点击了按钮1",Toast.LENGTH_SHORT).show();}
});
}
第一行代码 -3-1 软件也要拼脸蛋-UI界面的更多相关文章
- 第一行代码 -3-2 软件也要拼脸蛋-UI界面-更强大的滚动条-RecyclerView
简述教程:https://www.jianshu.com/p/4fc6164e4709 一 基础准备 1 添加RecyclerView控件引用库文件 2 总布局添加RecyclerView控件 3 R ...
- 第一行代码 3-2-2 软件也要拼脸蛋-UI界面-更强大的滚动条- 卡片
<LinearLayout android:orientation="vertical" android:layout_width="match_parent&qu ...
- 第一行代码 3-5 软件也要拼脸蛋-UI界面-更强大的滚动条- 聊天室
动画 https://www.jianshu.com/p/4fc6164e4709 前面说过,RecyclerView可以设置列表中Item删除和添加的动画,在v7包中给我们提供了一种默认的Item删 ...
- 《第一行代码 android》 读书笔记:找出当前界面对应的Activity
在android开发中找出当前界面对应的Activity,步骤如下: 新建一个BaseActivity继承自Activity,然后在BaseActivity中重写onCreate()方法,通过getC ...
- 第三章:软件也要拼脸蛋-UI 开发的点点滴滴
常用控件 常用控件有:按钮 Button.文本显示框 TextView.图片显示框 ImageView.文本编辑框 EditText.进度条 ProgressBar.提示框 AlertDialog.进 ...
- 第一行代码 Android 第二版到货啦
今日android第一行代码[第二版]已到,收获的季节到了 先看一下封面 书签: 以后就把空闲时间送给它吧 先来看一下本书的目录: 第1章 开始启程--你的第1行Android代码 第2章 先从看得到 ...
- 通过《第一行代码》学习 Android 开发
第一行代码 Android --第 2 版-- 郭霖 著 第 1 章:开始启程--你的第一行 Android 代码 •1.2 手把手带你搭建开发环境 Android Studio 的安装及配置 A ...
- 第一行代码 Android (郭霖 著)
https://github.com/guolindev/booksource 第1章 开始启程----你的第一行Android代码 (已看) 第2章 先从看得到的入手----探究活动 (已看) 第3 ...
- HTML5 & CSS3初学者指南(1) – 编写第一行代码
介绍 网络时代已经到来.现在对人们来说,每天上网冲浪已经成为一种最为常见的行为. 在网页浏览器中输入一段文本地址,就像http://www.codeproject.com,等待一下,网页就加载到浏览器 ...
随机推荐
- pip更新到18版本后使用pycharm更新问题:module 'pip' has no attribute 'main'
今天升级pip到18.0版本后更新模块时出现错误 分析报错信息可知,问题出在packaging_tool.py文件的213行和109行,找到具体的代码,如下 # 109行函数 def do_insta ...
- [转]Git & Gitlab 使用指南
本文转自:https://blog.csdn.net/zdx1515888659/article/details/72954000 原文:http://www.restran.net/2016/02/ ...
- C#基础---浅谈XML读取以及简单的ORM实现
背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...
- Windows安装diango框架<一>
下一篇:使用Django创建网站项目<二> python工具安装 python下载:https://www.python.org/downloads/windows/(我的版本3.7.0) ...
- jQuery基础教程
1.使用$()函数 $()函数其实是创建了一个jQuery对象. 这个函数接受CSS选择符作为参数,充当一个工厂, 返回包含页面中对应元素的jQuery对象. 所有能在样式表中使用的选择符都可以传给这 ...
- Python全栈学习_day007作业
Day7作业及默写 .把列表中所有姓周的人的信息删掉(升级题:此题有坑, 请慎重): 第一种方法:lst = ['周老二', '周星星', '麻花藤', '周扒皮'] # 结果: lst = ['麻花 ...
- python中收集函数的解包问题
收集参数的解包问题 - 把参数放入list或者字典中,直接把list/dict中的值放入收集参数中- 语法:参照案例 # 收集参数的问题 def stu(*args): print("=&q ...
- MinGW编译Mongo-CXX-Driver
8. mongo-cxx-driver pacman -S mingw-w64-x86_64-cyrus-sasl pacman -S mingw-w64-x86_64-extra-cmake-mod ...
- 使用Twitter异常检测框架遇到的坑
在Github上搜索“Anomaly Detection”,Twitter的异常检测框架(基于R语言)高居榜首,可见效果应该不错: 但是活跃度并不高,3-4年没人维护了: 因此在使用时难免会遇到一些坑 ...
- Jni 线程JNIEnv,JavaVM,JNI_OnLoad(GetEnv返回NULL?FindClass返回NULL?)
此文章是关于NDK线程的第二篇理论知识笔记.主要有两个点,如下: 1.pthread_create(Too many arguements, expected 1) ?2.线程中如何获取JNIEnv? ...