Android中RemoteViews中文幫助文檔【安卓翻譯一】 – Android移動開發技術文章_手機開發 Android移動開發教學課程

 

 

前言:大明以後要寫一些高質量的博客,盡量說透徹一些,看問題要多角度;遇到問題多思考,其實技術就是一層窗戶紙,當你有很多層窗戶紙捅不破的時候,就成瞭困難瞭,所以解決問題要一層一層分析,把每個窗戶紙捅破瞭,這個問題就pass掉瞭。我在網上看到大傢翻譯一些中文的幫助文檔,所以我也想翻譯試試,看看自己的英文的水平到底怎樣?所以小試牛刀一下,先來翻譯一下RemoteViews。這個RemoteViews用的是層的概念,就是你添加一個佈局在父view上,這個其實是兩層。做遊戲常用view的層的思想。比如:遊戲人物中的對白其實就是層的概念來呈現給用戶的。

 

不足之處,希望大傢多多指正;

 

    一、繼承關系:

 

            RemoteViews extends Object  implements  ParcelableLayoutInflater.Filter

 

 

 

   二、類描述:

 

        這個類可以顯示在其他進程中的呈層次結構的view類中。這個層次結構可以用layout佈局文件加載,並且提供瞭一些基本的方法來修改其中的內容。

 

 

 

   三、內部類摘要:

 

               class   RemoteViews.ActionException     錯誤的時候執行一個動作來發送異常消息。

 

      @interface   RemoteViews.RemoteView          加載這個接口指出瞭View的子類可以使用RemoteViews機制

 

 

 

   四、字段:

 

      publicstatic final Creator<RemoteViews>  構造器Parcelable.Creator用來實例化RemoteViews類

 

 

 

  五、構造函數:

 

      RemoteViews(String packageName, int layoutId) ;通過加載指定的佈局來顯示這個RemoteViews。

 

      RemoteViews(Parcel parcel)  ;從一個parcel中讀取RemoteViews對象。

 

 

 

  六、公共方法:

 

   1、public voidaddView (int viewId,RemoteViews nestedView)

 

           通過調用這個addview方法來加載指定的RemoteViews,它允許用戶可以通過內部的方法來加載RemoteViews,在某種情況下這個創建出來的RemoteViews可以回收這個佈局,使用removeAllViews(int)清除任何存在的子view視圖。

 

       參數:

 

                 viewId    要添加子view到哪個父ViewGroup的id

 

            nestedView    要添加的子視圖RemoteViews

 

 

 

   2、publicViewapply (Context context,ViewGroup parent)

 

      用Inflates加載視圖對象並且應用到所有的動作中。

 

      這個方法可能拋出異常。

 

      參數:

 

           context   默認上下文context

 

           parent   生成視圖層將要填充的parent。此方法不會附加到層次結構。調用者應該在適當的時候處理。

 

      返回值: 已經用inflate加載的視圖層。

 

 

 

   3、public RemoteViewsclone ()

 

      創建並返回這個對象的復件,默認的實現返回一個(自稱為)淺拷貝。它創建這個類的一個新實例並從原來的

 

實例中復制字段值(包括類相關的)到這個新的實例。相比之下,深拷貝,還會遞歸復制內部類。

 

      返回值:  這個類的復件。

 

 

 

   4、public int describeContents ()

 

      在Parcelable中特定的編碼形式描述各種特殊的對象。

 

      返回值: 返回由Parcelable特定編碼形式的對象類型的位掩碼。

 

 

 

   5、public int getLayoutId ()  得到layout的id

 

 

 

   6、publicStringgetPackage () 得到這個類得包

 

 

 

   7、public boolean onLoadClass (Class clazz)

 

     Hook允許LayoutInflater客戶端限制設置視圖,即允許被inflated加載。

 

      參數:clazz   用來inflated加載的視圖對象

 

      返回值:true:表示允許用這個類;false表示不可以;

 

 

 

   8、public void reapply (Context context,View v)

 

      為視圖對象添加所有的動作,這個方法會拋這個Caller beware異常;

 

      參數:v   要添加動作的視圖。這個應該是apply(Context, ViewGroup)調用的結果

 

 

 

   9、public void removeAllViews (int viewId)

 

      和調用removeAllViews()一個效果;

 

      參數:viewed  要移除所有子視圖的父ViewGroup的id

 

 

 

  10、public void setBitmap (int viewId,String methodName,Bitmap value)

 

      提供一個為RemoteViews在視圖佈局上可以添加帶有Bitmap值的方法。

 

      參數:    viewId  整個試圖id

 

           methodName  要調用的方法名

 

                     value   要傳遞的值

 

 說明:其他的set的值的方法都差不多,就是參數的不同而已,今天就翻譯到這吧,希望對讀者有一些微小的幫助!

原創作品,禁止商用,轉載請標明出處:https://blog.csdn.net/wdaming1986/article/details/7038402

發佈留言