HardBirch

Launcher修改–修改底部图标

时间:11-10-24 栏目:安卓源码解析与小应用 作者:张飞不张,文采横飞 评论:0 点击: 4,808 次

        在android2.2中,launcher的底部被修改成这种模式,有时候修改launcher的时候需要去掉电话和浏览器两项,我们可以在res/layout-port/文件夹中找到launcher.xml文件,在其中有以下代码

<RelativeLayout
        android:id="@+id/all_apps_button_cluster"
        android:layout_width="fill_parent"
        android:layout_height="@dimen/button_bar_height"
        android:layout_gravity="bottom|center_horizontal"
        android:paddingTop="2dip"
        >

        <com.android.launcher2.HandleView
            style="@style/HotseatButton"
            android:id="@+id/all_apps_button"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"

            android:src="@drawable/all_apps_button"
            launcher:direction="horizontal"
            />

        <ImageView
            android:id="@+id/hotseat_left"
            style="@style/HotseatButton.Left"
            android:layout_toLeftOf="@id/all_apps_button"

            android:src="@drawable/hotseat_phone"

            android:onClick="launchHotSeat"
            />
        <ImageView
            android:id="@+id/hotseat_right"
            style="@style/HotseatButton.Right"
            android:layout_toRightOf="@id/all_apps_button"

            android:src="@drawable/hotseat_browser"

            android:onClick="launchHotSeat"
            />
    </RelativeLayout>

下面的两个ImageView控件就是左右的两个,一个电话,一个浏览器图标,在这里,你可以把这两个图标更换为其他功能,当然,具体功能实现得在Launcher.java代码中实现,如果想去掉这些图标,把上面那段代码删除,但是别忘了下面的Launcher.java中的代码。

hotseatLeft = (ImageView) findViewById(R.id.hotseat_left);
        hotseatLeft.setContentDescription(mHotseatLabels[0]);
        hotseatLeft.setImageDrawable(mHotseatIcons[0]);
        hotseatRight = (ImageView) findViewById(R.id.hotseat_right);
        hotseatRight.setContentDescription(mHotseatLabels[1]);
        hotseatRight.setImageDrawable(mHotseatIcons[1]);

屏蔽掉,当然还有他们的声明代码。
private ImageView hotseatLeft;
private ImageView hotseatRight;
有关他们的代码全部屏蔽以后,重新编译下,完成效果。

声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: Launcher修改–修改底部图标

Launcher修改–修改底部图标:目前有

  1. 9楼
    raykcn:

    求,比如把浏览器换为通讯录,该如何操作?

    2011-11-19 23:34 [回复]
  2. [reply]raykcn[/reply]
    那你首先,把图片给换了,然后找到hotseatRight的点击事件,在里面做出跳转到通讯录即可。关于launcher修改的部分,写了很多,你可以看下,欢迎探讨。我记得好像在launcher.xml文件中定义的onclick方法,在我的其他文章中提到这一点了,但是具体记不太清楚了。

    2011-11-20 13:35 [回复]
  3. 7楼
    raykcn:

    第一:图片会换。第二:launcher.xml中的android:src="@drawable/hotseat_browser"应该是修改的,我改为android:src="@drawable/hotseat_xxx"?想知道这个xxx去哪里查找,比如我想换通讯录或短信?第三:这样不用修改java文件吧?

    2011-11-20 22:57 [回复]
  4. [reply]aomandeshangxiao[/reply]
    你应该有launcher 的源代码吧,自己好好看看。

    2011-11-21 10:33 [回复]
  5. [reply]raykcn[/reply]
    第二中的图片问题,这个可能系统里面没有,你可能得需要自己做,把那个图片放到drawable文件夹。第三:必须要修改Java 文件,你不修改的话,他还是会跳转到浏览器,而非你想要跳转到的界面。

    2011-11-21 10:33 [回复]
  6. 4楼
    raykcn:

    [reply]aomandeshangxiao[/reply]
    第一:我是初学android,在搭建环境,看到您的系列帖子受益匪浅。第二:图片我可以搞定。第三:明白了必须要修改java文件,看来还是不能躲过,得研究源代码了!我打算是偷懒,以为改个配置文件就ok呢!比如hotseat_mms就是短信,呵呵!

    2011-11-21 16:23 [回复]
  7. [reply]raykcn[/reply]
    呵呵,肯定得改,没事,慢慢来,路要一步一步走,别急。

    2011-11-21 18:58 [回复]
  8. 板凳
    T2QQ92:

    你好,请问下如何动态修改系统应用的图标?比如我要让邮件图标上动态显示邮件数量

    2012-01-30 22:32 [回复]
  9. [reply]T2QQ92[/reply]
    不好意思,这个还真没有研究过,有个思路你看下行吗?注册一个Broadcast Receiver,通过监听,如果收到新邮件,把那个图片给更新一下。。。你试一下吧。

    2012-02-01 10:49 [回复]

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐