2015-04-26 94 views
0

我環顧四周如何做到這一點,但我仍然不是很確定,所以我決定在這裏問。用一組現有的小部件創建一個自定義小部件?

我正在創建一個小部件列表,它將顯示藝術家姓名,流派和他們將在其中播放的場地。下面是一個包含imageView和3個純文本視圖的4個小部件的圖片,我想以某種方式組合並創建1個自定義小部件,包含我可以調用的全部4個組件,以顯示相關信息。

我也希望將這個小部件自己複製到一個設定的限制,顯示不同的藝術家,流派和場地一個在另一個之下。

我很困擾如何解決這個問題,任何幫助都會很棒! 在此先感謝!

圖片:

http://puu.sh/hr9x4/b3bffdf263.jpg

編輯:撲通!任何幫助,將不勝感激!

回答

0

創建自定義視圖。

創建一個類Widget並用線性佈局擴展它。在構造函數中膨脹包含佈局的佈局(圖像視圖和3個文本視圖)。

通過調用addView

寫setter函數中,你會接受一個包含有關事件的信息和功能,只需設置的值到相應的文本視圖事件類的對象添加膨脹的視圖類本身。

Class Widget extends LinearLayout{ 
private TextView artistName; 
public Widget(Context context) { 
     super(context); 

     View view = LayoutInflater.from(getContext()).inflate(
       R.layout.widget, null); 
     artistName = view.findViewById(R.id.artistName); 
     this.addView(view); 

    } 

public void setName(Event event){ 
    artistName.setText(event.getArtistName()); 
} 
} 

在你的活動佈局,你可以使用它作爲

<pkg_name.Widget android:id="@+id/widget1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 
</pkg_name.Widget> 
+0

謝謝!我現在就試試 – JaceAce

0

坦白地說,你應該閱讀的official documentation爲Android開發人員,因爲那裏你可以找到一個問問題的基本知識開始。如果您想了解示例並詳細瞭解代碼,請參閱我的經驗creating a custom Android widget。在那裏,我不得不解決小部件透明度的問題。也許這對你也是有用的。

相關問題