ThemableWidget.java revision dc3d0176993003aa949f0baf61327f1096f453d8
1e7b146fb3bdca62a0d5ecc06dbf3348e5a4fe757Guido van Rossumpackage com.android.layoutlib.test.myapplication; 21e8fba729e218bc4b2e1ed3104f8cdbd88fdb21aBrett Cannon 31e8fba729e218bc4b2e1ed3104f8cdbd88fdb21aBrett Cannonimport android.content.Context; 41e8fba729e218bc4b2e1ed3104f8cdbd88fdb21aBrett Cannonimport android.util.AttributeSet; 51e8fba729e218bc4b2e1ed3104f8cdbd88fdb21aBrett Cannonimport android.view.ContextThemeWrapper; 61e8fba729e218bc4b2e1ed3104f8cdbd88fdb21aBrett Cannonimport android.view.LayoutInflater; 7217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossumimport android.widget.FrameLayout; 8217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossum 9217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossumpublic class ThemableWidget extends FrameLayout { 109b8d801c37fa29420848ebc1b50c601893b36287Fred Drake public ThemableWidget(Context context) { 11495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters super(context); 12217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossum 13217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossum init(); 14d482e8ad4a11c7cbe9374f449da036ad21a5ee55Guido van Rossum } 15495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters 16495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters public ThemableWidget(Context context, AttributeSet attrs) { 17217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossum super(context, attrs); 18217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossum 19217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossum init(); 20495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters } 21495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters 22495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters public ThemableWidget(Context context, AttributeSet attrs, int defStyleAttr) { 23495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters super(context, attrs, defStyleAttr); 24495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters 25495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters init(); 26495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters } 27495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters 28495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters public ThemableWidget(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { 29495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters super(context, attrs, defStyleAttr, defStyleRes); 30495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters 31495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters init(); 32495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters } 33495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters 34495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters private void init() { 35495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters ContextThemeWrapper context = new ContextThemeWrapper(getContext(), getContext().getTheme()); 36217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossum context.setTheme(R.style.ThemableWidgetStyle); 37217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossum 38217a5fa3c33ae58c1fe420f94eeb7e806961c3c1Guido van Rossum LayoutInflater.from(context).inflate(R.layout.themable_widget_layout, this); 39495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters } 40495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters} 41495ad3c8ccb9ed3554177a3e8687676c78e667deTim Peters