15fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy/* 25fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * Copyright (C) 2010 The Android Open Source Project 35fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * 45fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * Licensed under the Apache License, Version 2.0 (the "License"); 55fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * you may not use this file except in compliance with the License. 65fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * You may obtain a copy of the License at 75fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * 85fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * http://www.apache.org/licenses/LICENSE-2.0 95fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * 105fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * Unless required by applicable law or agreed to in writing, software 115fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * distributed under the License is distributed on an "AS IS" BASIS, 125fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * See the License for the specific language governing permissions and 145fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy * limitations under the License. 155fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy */ 165fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 175fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guypackage com.android.test.hwui; 185fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 195fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guyimport android.app.Activity; 205fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guyimport android.content.Context; 215fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guyimport android.content.res.Resources; 225fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guyimport android.graphics.Canvas; 235fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guyimport android.graphics.drawable.Drawable; 245fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guyimport android.os.Bundle; 255fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guyimport android.view.Gravity; 265fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guyimport android.view.View; 275fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guyimport android.widget.FrameLayout; 285fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 295fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy@SuppressWarnings({"UnusedDeclaration"}) 305fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guypublic class MoreNinePatchesActivity extends Activity { 315fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy @Override 325fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy protected void onCreate(Bundle savedInstanceState) { 335fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy super.onCreate(savedInstanceState); 345fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 355fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy FrameLayout layout = new FrameLayout(this); 365fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy PatchView b = new PatchView (this); 375fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy b.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, 385fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy FrameLayout.LayoutParams.MATCH_PARENT, Gravity.CENTER)); 395fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy layout.addView(b); 405fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy layout.setBackgroundColor(0xffffffff); 415fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 425fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy setContentView(layout); 435fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy } 445fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 455fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy private class PatchView extends View { 465fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy private final Drawable mDrawable1; 475fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy private final Drawable mDrawable2; 485fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy private final Drawable mDrawable3; 495fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 505fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy private PatchView(Context context) { 515fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy super(context); 525fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy Resources res = context.getResources(); 535fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable1 = res.getDrawable(R.drawable.progress_vertical_holo_dark); 545fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable2 = res.getDrawable(R.drawable.scrubber_progress_vertical_holo_dark); 555fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable3 = res.getDrawable(R.drawable.scrubber_vertical_primary_holo); 565fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy } 575fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 585fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy @Override 595fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy protected void onDraw(Canvas canvas) { 605fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy super.onDraw(canvas); 615fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 625fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy canvas.translate(100, 100); 635fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable1.setBounds(0, 0, 33, 120); 645fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable1.setLevel(5000); 655fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable1.draw(canvas); 665fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 675fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy canvas.translate(20, 0); 685fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable2.setBounds(0, 0, 33, 120); 695fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable2.setLevel(5000); 705fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable2.draw(canvas); 715fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy 725fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy canvas.translate(20, 0); 735fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable3.setBounds(0, 0, 33, 120); 745fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy mDrawable3.draw(canvas); 755fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy } 765fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy } 775fccb70de94f4270cff1ca35d59a289bdf37a89fRomain Guy} 78