zoukankan      html  css  js  c++  java
  • Android 开发中常用小技巧

    TextView中的getTextSize返回值是以像素(px)为单位的,
    而setTextSize()是以sp为单位的.
    所以如果直接用返回的值来设置会出错,解决办法是
    用setTextSize()的另外一种形式,可以指定单位:
    

      

    在继承自View时,绘制bitmap时,需要将图片放到新建的drawable-xdpi
    中,否则容易出现绘制大小发生改变
    
    在文字中加下划线: textView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
    
    scrollView是继承自frameLayout,所以在使用LayoutParams时需要用frameLayout的
    

      

    在Android中几种网络编程的方式:
    (1)针对TCP/IP的Socket、ServerSocket
    (2)针对UDP的DatagramSocket、DatagramPackage。这里需要注意的是,考虑到Android设备通常是手持终端,IP都是随着上网进行分配的。不是固定的。因此开发也是有 一点与普通互联网应用有所差异的。
    (3)针对直接URL的HttpURLConnection
    (4)Google集成了Apache HTTP客户端,可使用HTTP进行网络编程。针对HTTP,Google集成了Appache Http core和httpclient 4版本,因此特别注意Android不支持 httpclient 3.x系列,而且目前并不支持Multipart(MIME),需要自行添加httpmime.jar
    (5)使用Web Service。Android可以通过开源包如jackson去支持Xmlrpc和Jsonrpc,另外也可以用Ksoap2去实现Webservice
    (6) 直接使用WebView视图组件显示网页。基于WebView 进行开发,Google已经提供了一个基于chrome-lite的Web浏览器,直接就可以进行上网浏览网页。
    

      

    TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
    这个是我们最常用的一个构造方法,
    
    float fromXDelta:这个参数表示动画开始的点离当前View X坐标上的差值;
    
    float toXDelta, 这个参数表示动画结束的点离当前View X坐标上的差值;
    
    float fromYDelta, 这个参数表示动画开始的点离当前View Y坐标上的差值;
    
    float toYDelta)这个参数表示动画开始的点离当前View Y坐标上的差值;
    
    如果view在A(x,y)点 那么动画就是从B点(x+fromXDelta, y+fromYDelta)点移动到C 点 (x+toXDelta,y+toYDelta)点.
    

      

    android提供了几种在其他线程中访问UI线程的方法。
    Activity.runOnUiThread( Runnable )
    View.post( Runnable )
    View.postDelayed( Runnable, long )
    Hanlder
    
    AsyncTask(推荐使用)
    

      

    .Spinner不能用在dialog和tabhost中的解决办法
    
    eclipse关联JDK源码
    (1).点 “window”-> “Preferences” -> “Java” -> “Installed JRES”
    
    (2).此时”Installed JRES”右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 “Edit…”, 会出现一个窗口(Edit JRE)
    
    (3).选中rt.jar文件的这一项:“c:program filesjavajre_1.5.0_06lib
    t.jar”点 左边的“+” 号展开它,
    
    (4).展开后,可以看到“Source Attachment:(none)”,点这一项,点右边的按钮“Source Attachment…”, 选择你的JDK目录下的 “src.zip”文件
    

      

    EditText设置光标位置问题
    EditText中有一些预置文本的时候,想把光标调到最前面,一开始是使用的setSelection(0),结果发现在三星P1000上面有问题。经过研究发现需要先调用EditText.requestFocus(),再调用setSelection(0)。否则的话,在2.x的机器上有问题,但3.x上面是好着的。
    

      

    Android中Home键被系统保留,无法象监听回退键一样用onKeyDown,但是可以根据按下home键时会触发的activity和view的一些事件来添加自己的处理代码.网上有人说可以用onAttachWindow来拦截Home键,没试过
    

      

    .在用surfaceView渲染时,如果要想在需要时其中出现其他View,可以将surfaceView和其他View放在layout中,平常时可以将其他view隐藏
    

      

    使用android:imeOptinos可对Android自带的软键盘进行一些界面上的设置:
    android:imeOptions="flagNoExtractUi"  //使软键盘不全屏显示,只占用一部分屏幕     
    同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键     
    android:imeOptions="actionNone"  //输入框右侧不带任何提示     
    android:imeOptions="actionGo"    //右下角按键内容为'开始'     
    android:imeOptions="actionSearch"  //右下角按键为放大镜图片,搜索     
    android:imeOptions="actionSend"    //右下角按键内容为'发送'     
    android:imeOptions="actionNext"   //右下角按键内容为'下一步'     
    android:imeOptions="actionDone"  //右下角按键内容为'完成'    
    

      

    为TextView添加阴影
    
    <style name="Overlay">      
        <item name="android:paddingLeft">2dip</item>      
        <item name="android:paddingBottom">2dip</item>      
        <item name="android:textColor">#ffffff</item>      
        <item name="android:textSize">12sp</item>      
        <item name="android:shadowColor">#00ff00</item>      
        <item name="android:shadowDx">5</item>      
        <item name="android:shadowDy">3</item>      
        <item name="android:shadowRadius">6</item>     
    </style>     
         
    <TextView android:id="@+id/test"      
           android:layout_width="fill_parent"      
           android:layout_height="wrap_content"      
           style="@style/<span style="background-color: rgb(250, 250, 250); font-family: Helvetica, Tahoma, Arial, sans-serif; ">Overlay</span>"      
           android:text="test"      
           android:gravity="center" />  
    

      

    如何将TextView中的中文设置成粗体?
    在xml文件中使用android:textStyle=”bold” 可以将英文设置成粗体,但是不能将中文设置成粗体,将中文设置成粗体的方法是:
    
    
    TextView tv = (TextView)findViewById(R.id.TextView01); 
    TextPaint tp = tv.getPaint(); 
    tp.setFakeBoldText(true);
    

      

    原文地址:http://www.blueowls.net/16%e6%9d%a1android%e5%bc%80%e5%8f%91%e5%b0%8f%e7%bb%8f%e9%aa%8c/

  • 相关阅读:
    第十二章学习笔记
    UVa OJ 107 The Cat in the Hat (戴帽子的猫)
    UVa OJ 123 Searching Quickly (快速查找)
    UVa OJ 119 Greedy Gift Givers (贪婪的送礼者)
    UVa OJ 113 Power of Cryptography (密文的乘方)
    UVa OJ 112 Tree Summing (树的求和)
    UVa OJ 641 Do the Untwist (解密工作)
    UVa OJ 105 The Skyline Problem (地平线问题)
    UVa OJ 100 The 3n + 1 problem (3n + 1问题)
    UVa OJ 121 Pipe Fitters (装管子)
  • 原文地址:https://www.cnblogs.com/spring87/p/4384608.html
Copyright © 2011-2022 走看看