CS185c
Chris Pollett
Nov. 2, 2009
package org.pollett;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.graphics.*;
import android.graphics.drawable.ShapeDrawable;
public class GraphicsTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GraphicsTestView(this));
}
private static class GraphicsTestView extends View
{
private ShapeDrawable mDrawable =
new ShapeDrawable();
public GraphicsTestView (Context context)
{
super(context);
setFocusable(true);
this.mDrawable.getPaint().setColor(0xFFFF0000); //argb where a is alpha
}
@Override
protected void onDraw(Canvas canvas)
{
int x = 10;
int y = 10;
int width = 300;
int height = 50;
this.mDrawable.setBounds(x, y, x + width, y + height);
this.mDrawable.draw(canvas);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="50dip"
android:src="@drawable/shape_1"
/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="50dip"
android:src="@drawable/line"
/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="50dip"
android:src="@drawable/shape_2"
/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="50dip"
android:src="@drawable/shape_3"
/>
</LinearLayout>
</ScrollView>
Shape 1
-------
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
type="oval"
>
<solid android:color="#00000000" />
<padding android:left="10sp"
android:right="10sp"
android:top="4sp"
android:bottom="4sp"
/>
<stroke android:width="1dp" android:color="#FFFFFFFF" />
</shape>
Shape 2
-------
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
type="oval"
>
<solid android:color="#FF0000FF" />
<stroke android:width="4dp"
android:dashWidth="1dp"
android:dashGap="2dp"
android:color="#FFFFFFFF" />
<padding android:left="7sp"
android:right="7sp"
android:top="7sp"
android:bottom="7sp"
/>
<corners android:radius="4dp" />
</shape>
Shape 3
-------
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
type="oval"
>
<gradient android:startColor="#FFFF0000"
android:endColor="#88FF00FF"
/>
<padding android:left="7sp"
android:right="7sp"
android:top="7sp"
android:bottom="7sp"
/>
<corners android:radius="8dp" />
</shape>
Line
----
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
type="oval"
>
<solid android:color="#FFFFFFFF" />
<stroke android:width="1dp" android:color="#FFFFFFFF"
android:dashWidth="1dp"
android:dashGap="2dp"
/>
<size android:height="23dp" />
</shape>
Which of the following statements is true:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_centerHorizontal="true"
android:id="@+id/my_anim"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
id="selected" android:oneshot="false"
>
<item android:drawable="@drawable/ball1" android:duration="50" />
<item android:drawable="@drawable/ball2" android:duration="50" />
<item android:drawable="@drawable/ball3" android:duration="50" />
<item android:drawable="@drawable/ball4" android:duration="50" />
<item android:drawable="@drawable/ball5" android:duration="50" />
<item android:drawable="@drawable/ball6" android:duration="50" />
</animation-list>
package org.pollett;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.util.Log;
import android.widget.ImageView;
public class AnimationTest extends Activity {
@Override
public void onCreate (Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main);
ImageView img = (ImageView)findViewById(R.id.my_anim);
img.setBackgroundResource(R.anim.my_animation);
MyAnimationRoutine mar = new MyAnimationRoutine();
MyAnimationRoutine2 mar2 = new MyAnimationRoutine2();
Timer t = new Timer(false);
t.schedule(mar, 100);
Timer t2 = new Timer(false);
t2.schedule(mar2, 5000);
}
class MyAnimationRoutine extends TimerTask
{
@Override
public void run()
{
Log.i("AnimationTest","hello");
ImageView img = (ImageView) findViewById(R.id.my_anim);
AnimationDrawable frameAnimation = (AnimationDrawable)
img.getBackground();
frameAnimation.start();
}
}
class MyAnimationRoutine2 extends TimerTask
{
@Override
public void run()
{
ImageView img = (ImageView) findViewById(R.id.my_anim);
AnimationDrawable frameAnimation = (AnimationDrawable)
img.getBackground();
frameAnimation.stop();
}
}
}