安卓学习(textview+LinearLayout实现导航栏)

程序设计实践第五周


上周主要任务

上周主要对整个程序的布局进行了更改,本来的设计是所有的界面都显示了广告栏,但是这样的设计是极其不友好的,广告栏会占据整个屏幕较大的空间,影响用户感受,因此在原有的基础上对整个APP进行了重新的布局设计更改,只在主页面进行广告栏的显示。除此之外,上周了解了安卓的数据库SQlite,本来是打算把音频数据存在数据库里,但是经过查阅资料后发现不推荐这种设计,因为音频数据过于庞大,不推荐存储在数据库。更适合的做法是把音频存在文件中,可以把文件的地址存在数据库中。需要用到相应的音频时,先从数据库查找到文件地址,然后再从文件中读取数据。

对于安卓中的activity,本来全部是采用的默认的standard模式,但是在测试中发现这样的话在进行多个活动的创建之后,用户点击回退键的时候只会回退到上个活动,这就造成有时候需要点击多次回退键才能够退出程序,这样的做法是极其不好的。在查阅资料了解到activity的创建模式的时候,我们把activity的创建模式由原来的standard模式更改为了singleTask模式,这样的话,如果在栈中已经存在了相应的activity实例,系统将不再创建新的activity,而是把栈中相应的activity调到栈顶的位置进行显示。除此之外,在添加了新的activity的时候由于忘记在AndroidManifest中注册,造成程序在运行的过程中闪退。这是一个需要注意的事情。

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="bottom"
            android:id="@+id/bottombar">
            <TextView
                android:id="@+id/main"
                android:layout_weight="1"
                android:layout_width="1dp"
                android:layout_height="50dp"
                android:text="推荐"
                android:gravity="center"
                android:onClick="onClick"/>
            <TextView
                android:id="@+id/listen"
                android:layout_width="1dp"
                android:layout_height="50dp"
                android:layout_weight="1"
                android:text="听力"
                android:gravity="center"
                android:onClick="onClick"/>
            <TextView
                android:id="@+id/spokenEnglish"
                android:layout_width="1dp"
                android:layout_height="50dp"
                android:layout_weight="1"
                android:text="口语"
                android:gravity="center"
                android:onClick="onClick"/>
            <TextView
                android:id="@+id/like"
                android:layout_width="1dp"
                android:layout_height="50dp"
                android:layout_weight="1"
                android:text="收藏"
                android:gravity="center"
                android:onClick="onClick"/>
        </LinearLayout>
    public void onClick(View view){
        transaction = fm.beginTransaction();
        switch (view.getId()){
            case R.id.main:
                break;
            case R.id.listen:
                if (frag2 == null) {
                    frag2 = new Frag2();
                }
                Intent intent = new Intent(this,frag2.getClass());
                startActivity(intent);
                break;
            case R.id.spokenEnglish:
                if (frag3 == null) {
                    frag3 = new Frag3();
                }
                intent = new Intent(this,frag3.getClass());
                startActivity(intent);
                break;
            case R.id.like:
                if (frag4 == null) {
                    frag4 = new Frag4();
                }
                intent = new Intent(this,frag4.getClass());
                startActivity(intent);
                break;
        }
    }

本周任务

本周将学习listview的使用以及相应的适配器。根据列表的适配器类型列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter,其中ArrayAdapter最为简单,但是缺点就是它只能够展示一行文字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。而SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。
listview有两种实例化的方法。
1. 第一种是在xml布局文件中先进行listview的添加,然后再java文件种使用。


            <ListView
                android:id="@+id/list_view"
                android:layout_below="@+id/adv_pager"
                android:layout_marginBottom="40dp"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/blue">
            </ListView>
  1. 第二种是直接java代码实例化
ListView listview = new ListView(this);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值