Temat: [Android + Java] Zjawisko PARANORMALNE (Landscape)

Kiedy rozpoczynam inicjalizację ramki/okna w metodzie onCreate, i chcę zmienić tryb wyświetlania ekranu na "LANDSCAPE", to cały program, przyciski, zdarzenia, timery, działa idealnie, ale program nie wchodzi w metodę klasy, którą używam do wysyłania danych po sieci lan. Co więcej program POMIJA BLOK WARUNKOWY if(){} else{}, w którym w if i w else znajduje się moja metoda do wysyłania danych (TCPClient).

Jeśli natomiast nie zmienię trybu wyświetlania na Landscape, to program wchodzi i w metody i w instrukcję wysyłania danych.

kod onCreate:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v("START: ","BEGIN IS HERE");
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);


//Jeśli to, co poniżej wykomentuję to program działa poprawnie
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);


}


Kod wykonywany po podniesienu palca z ekranu, w którym występuje dziwne zjawisko:


private void RuneCursorEvents1(MotionEvent e)
{
if(e.getAction() != 1) return;

Log.v(" ACTION: ","UP");

nsX = e.getX();
nsY = e.getY();

Log.v(" nsX - nsY: ","" + nsX + " - " + nsY);

if(nsX == 0 && nsY == 0)
{
Log.v(" Sending EX2: ","");
try{TCPC.Set(("LPM").getBytes());} catch(IOException e2) {}
}
else
{
Log.v(" Sending EX3: ","");
try {TCPC.Set(("x" + (int)nsX + "y" + (int)nsY ).getBytes());} catch (IOException e3){}

}
}


Dzięki Log.v(" ACTION: ","UP");, wiem że metoda jest wykonywana za każdym razem gdy podnoszę palec i działa zawsze, jednak Jeśli linika "setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);" jest wstawiona tak jak w pierwszym kodzie, w metodzie onCreate, to logcat wogóle nie pokazue logów ani Log.v(" Sending EX3: ",""); ani Log.v(" Sending EX2: ",""); Natomiast, jeśli liniję tę usunę to logi te się pojawiają.

Jak to jest możliwe, i co zrobić żeby linijka:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
nie powodowała błędów ???

Ewentualnie, czy można w jakiś sposób zmieniać orientację samych kontrolek np: Button, tak by np, móc go obrócić o 90 stopni etc. ?Mateusz Grzelak edytował(a) ten post dnia 19.09.11 o godzinie 17:17
Michał Kąkol

Michał Kąkol Rozwiązuję problemy,
przenoszę firmy do
internetu.

Temat: [Android + Java] Zjawisko PARANORMALNE (Landscape)

w manifeście można :)

Temat: [Android + Java] Zjawisko PARANORMALNE (Landscape)

Ale jesli ja te pzyciski generuję sam ? bo mam ich około 70 więc w manifescie dla poszczególnych przycisków nie da rady.


//Tworzenie przykładowego przycisku
rl = new RelativeLayout(this);
SureViewMain = new SurfaceView(this);
BtnPrzyklad = new ImageButton(this);
rlp = new RelativeLayout.LayoutParams(100,100);
rl.addView(BtnPrzyklad , rlp);
setContentView(rl);


Pytanie tylko, jak to się dzieje w manifescie, żebym mógł wywnoskować co zmienić w kodzie "tworzenia przykładowego przycisku", aby wyświetlał się obrócony o 90 stopni ?Mateusz Grzelak edytował(a) ten post dnia 19.09.11 o godzinie 18:22
Michał Kąkol

Michał Kąkol Rozwiązuję problemy,
przenoszę firmy do
internetu.

Temat: [Android + Java] Zjawisko PARANORMALNE (Landscape)

no dobra, a nie możesz ustawić w manifeście żeby cały widok był w landscape, wtedy wszystkie kontrolki na nim beda rysowane w trybie poziomym

Temat: [Android + Java] Zjawisko PARANORMALNE (Landscape)


<activity android:name=".HelloGoldenline"
android:screenOrientation="landscape"
android:label="@string/app_name">
<intent-filter>


Oo ... zadziałało. Tylko mi się to trochę mało profesjonalne wydawało. Jakoś ścierpię i pozmieniam program, żeby nie było potrzeba obracać przycisków niezależnie. W każdym razie pozostanie po tym temacie zagadka jak to jest, że blok warunkowy znikał.

Wielkie dzięki.

Ewentualnie jeszcze tylko jedna rzecz, jesli bym mógł zapytać, to czy da się zmieniać przezroczystosć (ustawić od 0 - 100%) Buttonów ? bo kombinowałem z visibility i alpha etc. ale bez efektów. I albo przyciski są widoczne w 100% albo wcale.Mateusz Grzelak edytował(a) ten post dnia 19.09.11 o godzinie 18:44
Michał Kąkol

Michał Kąkol Rozwiązuję problemy,
przenoszę firmy do
internetu.

Temat: [Android + Java] Zjawisko PARANORMALNE (Landscape)

google wie wszystko, poźniej dokumentacja ->

"Change the desired orientation of this activity. If the activity is currently in the foreground or otherwise impacting the screen orientation, the screen will immediately be changed (possibly causing the activity to be restarted). Otherwise, this will be used the next time the activity is visible."

i już wiadomo czemu miałes takie efekty po uruchomieniu "setRequestedOrientation"

jeżeli chodzi o przezroczystość to wpisałem w google: "android button transparent" i w pierwszym linku z stackoverflow widziałem, że pozytywynie oceniali jedną z wypowiedzi, ale akurat nie potrzebuje takiej wiedzy posiadać, zachęcam do używania google ;D



Wyślij zaproszenie do