Я пишу приложение, которое будет создавать нарисованные фигуры и добавлять их в другие рисунки. (Подумайте, как тетрис рисует на доске тетриса.) В качестве теста я хочу, чтобы при загрузке моей активности появлялась конкретная фигура, но я не могу получить Drawable для отображения в созданном мной ImageView. Может кто-нибудь объяснить, почему следующий код не работает?
Код активности:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView mImg = (ImageView) findViewById(R.id.img);
ShapeDrawable sD = new ShapeDrawable(new RectShape());
sD.setBounds(1,1,10,10);
sD.getPaint().setColor(Color.BLUE);
mImg.setImageDrawable(sD);
}
main.xml:
<?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:id="@+id/img"
android:layout_width="320px"
android:layout_height="206px"
/>
<TextView
android:id="@+id/debug"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Примечание: я смог заставить статические ресурсы из папки 'drawable' появляться в этом ImageView, только не Drawables, которые я создал в коде.