当前位置:  编程技术>移动开发
本页文章导读:
    ▪失去安装包里面的权限        得到安装包里面的权限  PackageManager pm = context.getPackageManager();     final List<PackageInfo> appinstalled = pm.getInstalledPackages(PackageManager.GET_PERMISSIONS);     appinstalledAdapter = new AppInstalledAdapter(this, a.........
    ▪ TextView 一部分字体高亮        TextView 部分字体高亮 TextView 部分字体高亮   [功能] TextView是不支持部分字段高亮的 但是我们可以进行扩展     [思路] 1. 利用LinearLayout 作为 TextView 的 容器 2. 字符串中每个字都使用一个TextVi.........
    ▪ 让star也具有CheckBox 效能       让star也具有CheckBox 功能 这个呢是通过 源码的来的 <CheckBox android:id="@+id/star" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical.........

[1]失去安装包里面的权限
    来源: 互联网  发布时间: 2014-02-18
得到安装包里面的权限

 PackageManager pm = context.getPackageManager(); 
    final List<PackageInfo> appinstalled = pm.getInstalledPackages(PackageManager.GET_PERMISSIONS); 
    appinstalledAdapter = new AppInstalledAdapter(this, appinstalled); 
    setListAdapter(appinstalledAdapter); 
    ListView lv = getListView(); 
    lv.setTextFilterEnabled(true); 
    lv.setOnItemClickListener(new OnItemClickListener() 
    {  
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
            PackageInfo p = appinstalled.get(position); 
                String result = null; 
                    String[] packagePermissions = p.requestedPermissions; 
                    Log.d("AppList", p.packageName); 
                    if (packagePermissions != null) { 
                        for (int j = 0; j < packagePermissions.length; j++) { 
                              result =  result + "\n" + packagePermissions[j]; 
                        } 
 
                    } 
 
                    else { 
                        Log.d("AppList", p.packageName + ": no permissions"); 
                    } 
            Toast.makeText(getApplicationContext(),result,Toast.LENGTH_LONG).show(); 
            } 
 
    }); 
}    


    
[2] TextView 一部分字体高亮
    来源: 互联网  发布时间: 2014-02-18
TextView 部分字体高亮

TextView 部分字体高亮

 

[功能]

TextView是不支持部分字段高亮的 但是我们可以进行扩展

 

 

[思路]

1. 利用LinearLayout 作为 TextView 的 容器

2. 字符串中每个字都使用一个TextView显示之

3. 还可以使用*.9.png来作为所有TextView的背景 使之看上去成为整体

 

 

[思路 步骤]

 

1. 定义TextSelectionHelper 构造函数 传入 Activity上下文 及 子View对齐方式 以及 layout_width layout_height

Java代码 
  • public class TextHighlightHelper{  
  •     Activity activity;  
  •       
  •     LinearLayout lLayout;  
  •       
  •     public TextHighlightHelper(Activity a,int l){  
  •   activity = a;  
  •     
  •   lLayout = new LinearLayout(activity);  
  •   lLayout.setOrientation(l);  
  •   lLayout.setLayoutParams(  
  •     new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));  
  •  }  
  • }  
  •  

     

    2. 定义函数 用于接收字符串

    Java代码 
  • //之所以每个字符都分别用一个TextView显示之 因为这样做 会使得后面颜色设定非常容易  
  •   
  • public void addText(CharSequence cs){  
  •   for(int i=0;i<cs.length();i++){  
  •    TextView tv = new TextView(activity);  
  •    tv.setText(cs.charAt(i)+"");  
  •      
  •    lLayout.addView(tv);  
  •   }  
  •  }  
  •  

     

    3. 设定 部分字符 颜色

    Java代码 
  • //函数解释: 从s开始 选取l个字符 颜色都设定为i  
  •   
  • public void addColor(int s,int l,int c){  
  •   if(l > lLayout.getChildCount()){  
  •    //error argument  
  •   }  
  •   else {  
  •    for(int i=s;i<s+l;i++){  
  •     TextView item = (TextView)lLayout.getChildAt(i);  
  •       
  •     item.setTextColor(c);  
  •    }  
  •   }  
  •  }  
  •  

    4. 设定所有字符的背景 最好使用*.9.png 资源 因为长度可变

    Java代码 
  • public void addBackResource(int r){  
  •   lLayout.setBackgroundResource(r);  
  •  }  
  •  

     

    5. 得到整个LinearLayout 并供使用

    Java代码 
  • public View loadView(){  
  •         return lLayout;  
  •     }  
  •  

     

    6. 如何使用TextSelectionHelper

    * TextHighlightUsage 的布局 并定义最外层的id

    Java代码 
  • <?xml version="1.0" encoding="utf-8"?>  
  • <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  •     android:orientation="vertical"  
  •     android:id="@+id/layout"  
  •     android:layout_width="fill_parent"  
  •     android:layout_height="fill_parent"  
  •     >  
  • <TextView   
  •     android:text="HelloText1"  
  •     android:layout_width="fill_parent"  
  •     android:layout_height="wrap_content" />  
  • </LinearLayout>  
  •  

     

    * 具体使用:

    Java代码 
  • public class TextHighlightUsage extends Activity {  
  •     TextHighlightHelper tHelper1;  
  •     TextHighlightHelper tHelper2;  
  •       
  •     LinearLayout ll;  
  •     /** Called when the activity is first created. */  
  •     @Override  
  •     public void onCreate(Bundle savedInstanceState) {  
  •         super.onCreate(savedInstanceState);  
  •         setContentView(R.layout.main);  
  •           
  •         ll = (LinearLayout)findViewById(R.id.layout);  
  •           
  •         //Text:HelloText2  
  •         CharSequence c1 = "HelloText2";  
  •         tHelper1 = new TextHighlightHelper(this,LinearLayout.HORIZONTAL);  
  •         tHelper1.addText(c1);  
  •         tHelper1.addColor(0, 3, Color.RED);  
  •         tHelper1.addBackResource(R.drawable.dot);  
  •           
  •         ll.addView(tHelper1.loadView());  
  •           
  •         //Text:创新源于模仿!  
  •         CharSequence c2 = "创新源于模仿!";  
  •         tHelper2 = new TextHighlightHelper(this,LinearLayout.VERTICAL);  
  •         tHelper2.addText(c2);  
  •         tHelper2.addColor(1, 3, Color.RED);  
  •           
  •         ll.addView(tHelper2.loadView());  
  •     }  
  • }  
  •  

     

    7. emulator 运行截图:

     

     

    至于其能不能满足需求 见仁见智了 大家可以参考截图


        
    [3] 让star也具有CheckBox 效能
        来源: 互联网  发布时间: 2014-02-18
    让star也具有CheckBox 功能

    这个呢是通过 源码的来的

    <CheckBox 
            android:id="@+id/star" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_gravity="center_vertical" 
            android:visibility="gone" 
            android:contentDescription="@string/description_star" 
             /> 
    

     

    在一个 theme中

    <item name="starStyle">@android:style/Widget.CompoundButton.Star</item> 
    然后

    <style name="Widget.CompoundButton.Star"> 
        <item name="android:background">@android:drawable/btn_star_label_background</item> 
        <item name="android:button">@android:drawable/btn_star</item> 
    </style> 


        
    最新技术文章:
    ▪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