当前位置:  编程技术>移动开发
本页文章导读:
    ▪activity四种模式启动        activity四种方式启动 singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例。(注意是栈顶,不在栈顶照样创建新实例!)singleTa.........
    ▪ ListView的式样        ListView的样式 android 设置listview item选中背景色http://www.yoyong.com/archives/224http://blog.csdn.net/liuhanhan512/article/details/7225989http://blog.csdn.net/vennl/article/details/7099265去除ListView滑到顶部和底部时边缘.........
    ▪ Notification格局       Notification布局      第一步:新建一个工程,命名为Notification;       第二步:新建一个布局文件(即自定义的notification的布局文件:custom_notification.xml,内容如下: <?xml version="1.0" encoding.........

[1]activity四种模式启动
    来源: 互联网  发布时间: 2014-02-18
activity四种方式启动
singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例。(注意是栈顶,不在栈顶照样创建新实例!)

singleTask模式:当intent到来,需要创建singleTask模式Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有直接将intent发送给它。



Activity的四种加载模式:


1、standard :系统的默认模式,一次跳转即会生成一个新的实例。假设有一个activity命名为Act1,执行语句:

startActivity(new Intent(Act1.this, Act1.class));

后Act1将跳转到另外一个Act1,也就是现在的栈里面有 Act1 的两个实例。按返回键后你会发现仍然是在Act1(第一个)里面。



2、singleTop:singleTop 跟standard 模式比较类似。唯一的区别就是,当跳转的对象是位于栈顶的activity(应该可以理解为用户眼前所 看到的activity)时,程序将不会生成一个新的activity实例,而是直接跳到现存于栈顶的那个activity实例。拿上面的例子来说,当Act1 为 singleTop 模式时,执行跳转后栈里面依旧只有一个实例,如果现在按返回键程序将直接退出。这个貌似用得比较少。



3、singleTask: singleTask模式和后面的singleInstance模式都是只创建一个实例的。在这种模式下,无论跳转的对象是不是位于栈顶的activity,程序都不会生成一个新的实例(当然前提是栈里面已经有这个实例)。这种模式相当有用,在以后的多activity开发中, 经常会因为跳转的关系导致同个页面生成多个实例,这个在用户体验上始终有点不好,而如果你将对应的activity声明为 singleTask 模式,这种问题将不复存在。不过前阵子好像又看过有人说一般不要将除开始页面的其他页面设置为 singleTask 模式,原因暂时不明,哪位知道的可以请教下。



4、singleInstance: 设置为 singleInstance 模式的 activity 将独占一个task(感觉task可以理解为进程),独占一个task的activity与其说是activity,倒不如说是一个应用,这个应用与其他activity是独立的,它有自己的上下文activity。拿一个例子来说明吧:

现在有以下三个activity: Act1、Act2、Act3,其中Acti2 为 singleInstance 模式。它们之间的跳转关系为: Act1 -- Act2 -- Act3 ,现在在Act3中按下返回键,由于Act2位于一个独立的task中,它不属于Act3的上下文activity,所以此时将直接返回到Act1。这就是singleInstance模式。




    
[2] ListView的式样
    来源: 互联网  发布时间: 2014-02-18
ListView的样式
android 设置listview item选中背景色
http://www.yoyong.com/archives/224
http://blog.csdn.net/liuhanhan512/article/details/7225989
http://blog.csdn.net/vennl/article/details/7099265

去除ListView滑到顶部和底部时边缘的黑色阴影:

android:fadingEdge="none"  

 

去除拖动时默认的黑色背景:

android:cacheColorHint="#00000000"  



去除选中时的黄色底色:

android:listSelector="#00000000"  

去除行与行之间的黑线:




msgList.setDivider(null);  



ListView刷新后自动滚到最底部:


msgList.setSelection(msgList.getAdapter().getCount()-1);
 
 
以上,自然也可以进行自定义颜色处理。


http://blog.csdn.net/dany1202/article/details/6043654
屏蔽获取焦点时的高亮橙色显示:

listview.setSelector(R.drawable.nocolor);//图片为一张无色透明图片即可,或者

android:listSelector="@drawable/nocolor"



http://www.cnblogs.com/linjiqin/archive/2011/02/23/1962311.html
很好很有用...很强大

    
[3] Notification格局
    来源: 互联网  发布时间: 2014-02-18
Notification布局

     第一步:新建一个工程,命名为Notification;

      第二步:新建一个布局文件(即自定义的notification的布局文件:custom_notification.xml,内容如下:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android " 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 
     
    <ImageView  
        android:id="@+id/image" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:layout_alignParentLeft="true" 
        android:layout_marginRight="10dp" 
        android:contentDescription="@string/Image" /> 
     
    <TextView  
        android:id="@+id/title" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_toRightOf="@id/image" 
        /> 
     
    <TextView  
        android:id="@+id/text" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_toRightOf="@id/image" 
        android:layout_below="@id/title" 
        /> 
     
</RelativeLayout> 
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android "
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
   
 <ImageView
     android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="10dp"
        android:contentDescription="@string/Image" />
 
    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/image"
        />
   
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/image"
        android:layout_below="@id/title"
        />
   
</RelativeLayout>
          第三步:新建上面布局文件中引用到的styyes.xml文件,代码如下:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="NotificationText" parent="android:TextAppearance.StatusBar.EventContent" /> 
    <style name="NotificationTitle" parent="android:TextAppearance.StatusBar.EventContent.Title" /> 
</resources> 
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="NotificationText" parent="android:TextAppearance.StatusBar.EventContent" />
    <style name="NotificationTitle" parent="android:TextAppearance.StatusBar.EventContent.Title" />
</resources>
       第四步:修改java源文件,代码如下:

public class CusNotificationActivity extends Activity { 
    private static final int CUSTOM_VIEW_ID = 1; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
         
        //Notification notification = new Notification();  
        int icon = R.drawable.ic_launcher; 
        CharSequence tickerText = "Notification01"; 
        long when = System.currentTimeMillis(); 
 
        Notification notification = new Notification(icon, tickerText, when); 
         
        RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification); 
        contentView.setImageViewResource(R.id.image, R.drawable.notification_image); 
        contentView.setTextViewText(R.id.title, "Custom notification"); 
        contentView.setTextViewText(R.id.text, "This is a custom layout"); 
        notification.contentView = contentView; 
         
        Intent notificationIntent = new Intent(this, CusNotificationActivity.class); 
        PendingIntent contentIntent = PendingIntent.getActivity(CusNotificationActivity.this, 0, notificationIntent, 0); 
        notification.contentIntent = contentIntent; 
         
        String ns = Context.NOTIFICATION_SERVICE; 
        NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); 
        mNotificationManager.notify(CUSTOM_VIEW_ID, notification); 
    } 

public class CusNotificationActivity extends Activity {
 private static final int CUSTOM_VIEW_ID = 1;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        //Notification notification = new Notification();
        int icon = R.drawable.ic_launcher;
        CharSequence tickerText = "Notification01";
        long when = System.currentTimeMillis();

        Notification notification = new Notification(icon, tickerText, when);
       
        RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification);
        contentView.setImageViewResource(R.id.image, R.drawable.notification_image);
        contentView.setTextViewText(R.id.title, "Custom notification");
        contentView.setTextViewText(R.id.text, "This is a custom layout");
        notification.contentView = contentView;
       
        Intent notificationIntent = new Intent(this, CusNotificationActivity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(CusNotificationActivity.this, 0, notificationIntent, 0);
        notification.contentIntent = contentIntent;
       
        String ns = Context.NOTIFICATION_SERVICE;
        NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
        mNotificationManager.notify(CUSTOM_VIEW_ID, notification);
    }
}


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3