Próbuję utworzyć niestandardową grupę ViewGroup i chcę jej użyć z aplikacją pełnoekranową. Używam "requestWindowFeature (Window.FEATURE_NO_TITLE)", aby ukryć pasek tytułu. Pasek tytułu nie jest wyświetlany, ale nadal zajmuje miejsce na górze okna.Android: Używanie FEATURE_NO_TITLE z niestandardową ViewGroup pozostawia miejsce na górze okna
Powyższe zostało wygenerowane z następującego kodu obrazu:
public class CustomLayoutTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
Button b = new Button(this);
b.setText("Hello");
CustomLayout layout = new CustomLayout(this);
layout.addView(b);
setContentView(layout);
}
}
public class CustomLayout extends ViewGroup {
public CustomLayout(Context context) {
super(context);
}
public CustomLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomLayout(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
Log.i("CustomLayout", "changed="+changed+" l="+l+" t="+t+" r="+r+" b="+b);
final int childCount = getChildCount();
for (int i = 0; i < childCount; ++i) {
final View v = getChildAt(i);
v.layout(l, t, r, b);
}
}
}
(The full Eclipse project is here)
Jest to interesujące zobaczyć, że jest to Android, który podany jest to miejsce dla mojego niestandardowy układ. Ustawiam CustomLayout jako główny układ mojej Aktywności. W dzienniku "onLayout" otrzymuje "t = 25", i to właśnie powoduje przesunięcie mojego układu w dół. Nie wiem, co robię źle, co sprawia, że Android to "t = 25" (co jest dokładnie wysokością paska tytułu).
Uruchomiłem ten kod w systemie Android SDK 2.1, ale zdarza się też w systemie Android 2.2.
EDIT: Jeśli zmienię klasy CustomLayout jakiegoś układu domyślnego (takich jak LinearLayout), przestrzeń znika. Oczywiście domyślne układy Androida SDK nie tworzą układu, który próbuję utworzyć, dlatego właśnie go tworzę.
Chociaż układ, który tworzę, jest nieco skomplikowany, jest to najmniejszy kod, jaki mógłbym stworzyć, odtwarzając problem, który mam z moim układem.
Dziękuję @Hounshell. Brakowało mi tego punktu na dokumentach dotyczących układu współrzędnych w stosunku do rodzica. Oto obraz tego, co chcę osiągnąć (wynik twojego komentarza): [link] (http://i.imgur.com/FIOIG) – lgfischer