扬州旅游app(五)

来源:互联网 发布:传奇支付平台程序源码 编辑:程序博客网 时间:2024/04/30 20:09

转载请写明出处,谢谢


这两天动摇军心,不想搞android了,弄了javaweb,后来想想算了,还是老实弄安卓吧。废话不说,开始今天内容。

今天我们来完成扬州美景这个模块的内容。

其实步骤和扬州美食模块基本一样。咱们可以复用扬州美食模块的代码。

先上图


主要界面有一个ListView来完成。

贴代码

<?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:orientation="vertical" >    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="扬州美景界面"        android:textColor="#ff0000"        android:textSize="22sp" />    <ListView        android:id="@+id/lv_meijing"        android:layout_width="match_parent"        android:layout_height="match_parent" >    </ListView></LinearLayout>


然后去实现java部分的逻辑代码

首先去找到listview

private ListView lv_meijing;
lv_meijing = (ListView) findViewById(R.id.lv_meijing);


然后设置它的适配器

lv_meijing.setAdapter(adapter);

我觉得这里可以用simpleAdapter,但是想了想,还是自定义adapter比较方便。

private class MyAdapter extends BaseAdapter {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn names.length;}@Overridepublic View getView(int arg0, View arg1, ViewGroup arg2) {View view = View.inflate(YangzhoumeijingActivity.this,R.layout.list_item_meijing, null);TextView tv_item = (TextView) view.findViewById(R.id.tv_item);ImageView iv_item = (ImageView) view.findViewById(R.id.iv_item);tv_item.setText(names[arg0]);iv_item.setImageResource(ids[arg0]);return view;}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn 0;}}

getView()方法里,我们把xml文件转化为一个view,对应的每一个条目的布局文件代码为

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:gravity="center"    android:orientation="horizontal" >    <ImageView        android:id="@+id/iv_item"        android:layout_width="60dip"        android:layout_height="60dip"        android:src="@drawable/app" />    <TextView        android:id="@+id/tv_item"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="扬州美景"        android:textColor="#000000"        android:textSize="25sp" /></LinearLayout>


数据数组names和ids分别为

private static String[] names = { "扬州八怪纪念馆", "大明寺", "东关古渡", "凤凰岛", "个园","何园", "京杭大运河", "卢氏盐商住宅", "史可法纪念馆", "瘦西湖", "双博馆", "文昌阁", "茱萸湾","朱自清故居" };private static int[] ids = { R.drawable.meijing_baguaijinianguan,R.drawable.meijing_damingsi, R.drawable.meijing_dongguangudu,R.drawable.meijing_fenghuangdao, R.drawable.meijing_geyuan,R.drawable.meijing_heyuan, R.drawable.meijing_jinghangdayunhe,R.drawable.meijing_lushiyanshangzhuzhai,R.drawable.meijing_shikefa, R.drawable.meijing_shouxihu,R.drawable.meijing_shuangboguan, R.drawable.meijing_wenchangge,R.drawable.meijing_zhuyuwan, R.drawable.meijing_zhuziqing };


然后去实例化这个适配器adapter

private MyAdapter adapter;
adapter = new MyAdapter();


到这次,我们相当于复习了一边listview的用法,扬州美景模块的页面也完成了。

接下来,我们设置每一个条目的点击事件。

因为每一个条目完成方法雷同,所以,我们只选取其中一个作为演示。

lv_meijing.setOnItemClickListener(new OnItemClickListener() {Intent intent;@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {switch (arg2) {// 扬州八怪纪念馆case 0:intent = new Intent(YangzhoumeijingActivity.this,YangZhouBaGuaiJiNianGuan.class);startActivity(intent);break;default:break;}}});


通过意图,我们来到扬州八怪纪念馆页面

其中YangZhouBaGuaiJiNianGuan.class代码如下

public class YangZhouBaGuaiJiNianGuan extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_meijing_yangzhoubaguai);}}

他的布局为

<?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_horizontal"    android:orientation="vertical" >    <ImageView        android:layout_width="wrap_content"        android:layout_height="200dp"        android:src="@drawable/meijing_baguaijinianguan" />    <ScrollView        android:layout_width="wrap_content"        android:layout_height="wrap_content" >        <LinearLayout            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:orientation="vertical" >            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="简介"                android:textColor="#ff9933"                android:textSize="22sp" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="“扬州八怪”是清代活跃在扬州画坛上的一批具有创新精神的画家。包括:郑燮、罗聘、黄慎、李方膺、高翔、金农、李鱓、汪士慎八位画家。很多大名鼎鼎的后世画家如吴让之、昌硕、任伯年、齐白石、徐悲鸿、潘天寿等诸多画家都在某些方面受到影响并自立门户。八怪纪念馆由西方寺改建,八怪的代表人物金农晚年即生活于寺中,以其故居为馆,馆内有”八怪“书画及扬州书画家代表作,现存明代的楠木大殿和千年古树。"                android:textSize="22sp" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="地址"                android:textColor="#ff9933"                android:textSize="22sp" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="扬州市广陵区驼铃巷18号"                android:textSize="22sp" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="电话"                android:textColor="#ff9933"                android:textSize="22sp" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="0514-87340275;0514-87337408"                android:textSize="22sp" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="交通"                android:textColor="#ff9933"                android:textSize="22sp" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="103、107、12、17、1、216、26、27、30、33、40、66、7路专石塔寺站"                android:textSize="22sp" />        </LinearLayout>    </ScrollView></LinearLayout>

上图



这里需要注意的一点是ScrollView的用法问题,它内部只能有一个子对象,而我们要写好多个子对象,所以,我们把子对象都封装到一个LinearLayout里面,这样就避免了使用ScrollView出错问题。

到此,今天的内容就结束啦。









0 0
原创粉丝点击