Jestem tam zablokowany. Próbuję umieścić przezroczysty widok na tle. Próbowałem już kilku metod.Przezroczysty widok na ImageView
throught XML z:
android:background="@color/transparent"
lub
android:color="#80000000"
lub oddanie odniesienie do color.xml plik jako tak
<resources>
<color name="transp">#80000000</color>
</resources>
z moim layout.xml jak ten
android:background="@color/transp"
Próbowałem też zrobić to przez wygenerowanego kodu
myView.getBackground().setAlpha(45);
lub
myViewm.setBackgroundResource(R.color.trans);
Widziałem kilka stanowisk związanych, ale żadna z odpowiedzi nie pracował.
Poza tym jest jeszcze dziwniejsze, że wszystkie te rozwiązania wydają się łamać dobrze na GraphicalLayout w Eclipse. Po uruchomieniu urządzenia ekran pozostaje jednak nieprzejrzysty. Narysowałem linię na tym widoku, aby upewnić się, że coś się dzieje; i linia się pokazuje.
tutaj jest mój layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" >
<ImageView
android:id="@+id/backgroundview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/space_bg"
android:contentDescription="@string/desc" />
<View
android:id="@+id/tileview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/><!--
android:background="@color/transp"/>-->
</RelativeLayout>
i mój kod
private ImageView bg;
MyView tV;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
tV = new MyView(this);
setContentView(tV);
}
i myView OnDraw
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
this.setBackgroundResource(R.color.transp);
canvas.drawLine(10,20,30,40, paint);
}
Więc, gdzie nie mam racji? Dzięki!
Człowieku ... jesteś hojny, genialny !!!! ... Ten f *** g działa! Mój błąd polegał na tym, że chciałem pokazać widok obrazu? Dlaczego to nie zadziałało? A teraz, gdybym chciał narysować kilka linii nad tym widokiem, czy mógłbym to zrobić za pomocą kodu? – Antoine
@Antoine Cieszę się, że to się udało. - A teraz, gdybym chciał narysować kilka linii nad tym widokiem, czy mógłbym to zrobić za pomocą kodu? << Musisz być bardziej konkretny. Czy chcesz narysować kilka linii, które są wstępnie zdefiniowane w ImageView (co oznacza: pojawiają się, gdy zaczyna się aktywność)? A może chcesz narysować styl dowolny (używając zdarzeń dotykowych), gdy aplikacja jest uruchomiona? – Vikram
Przepraszam, za bycie nieprecyzyjnym ... Chciałbym narysować kilka linii zaraz po rozpoczęciu aktywności, płytki faktycznie z niektórymi słuchaczami zdarzeń. I jakiekolwiek wyjaśnienie, dlaczego moje własne rozwiązanie nie działa? – Antoine