2010-11-19 36 views

Répondre

2

Votre capture d'écran montre en exemple un lanceur Android 2.2 pour la plupart du temps inaltéré. Comme c'est l'open source, vous pouvez regarder comment c'est fait. Here's the layout file it uses.

Notez le RelativeLayout en bas contenant les trois boutons "hotseat". Chacun d'entre eux utilise un style personnalisé pour obtenir l'apparence, ces styles sont définis here.

0

Ce que vous montrez dans l'image est HTC Sense Launcher. C'est un ajout et non une partie du système d'exploitation Android de base.

BTW il est facile de faire un bouton transparent personnalisé comme celui-ci. Faites-moi savoir si vous avez besoin d'aide pour cela.

Mise à jour:

Utilisez cet exemple pour créer une boîte de dialogue personnalisée, qui ne modal et est flottant et transparent.

dialog = new Dialog(activityRequestingProgressDialog); 
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
dialog.setContentView(R.layout.progress_upload); 
progressBar = (ProgressBar) dialog.findViewById(R.id.progressBar); 
progressText = (TextView) dialog.findViewById(R.id.progressText); 
progressText.setText("0 %"); 
progressText.setTextSize(18); 
Button buttonCancel = (Button) dialog.findViewById(R.id.btnCancel); 
buttonCancel.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View view) { 
     cancelProgressDialog(); 
     } 
}); 
Window window = dialog.getWindow(); 
window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, 
        WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); 
window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 
window.setGravity(Gravity.BOTTOM); 
dialog.show(); 

Et la mise en page de dialogue est:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/progressDialog" 
      android:orientation="vertical" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:layout_centerVertical="true"> 

<TextView android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:textSize="18sp" 
      android:padding="10dp" 
      android:text="@string/progress_title"/> 

<LinearLayout android:id="@+id/progressDialog" 
       android:orientation="horizontal" 
       android:layout_height="wrap_content" 
       android:layout_width="wrap_content" 
       android:padding="10dp" 
       android:layout_centerVertical="true"> 

    <ProgressBar android:id="@+id/progressBar" 
       android:layout_width="150dp" 
       android:layout_height="34dp" 
       android:paddingRight="10dp" 
       android:max="100" 
       android:progress="0" 
       android:fadingEdge="vertical" 
       style="?android:attr/progressBarStyleHorizontal"/> 

    <TextView android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:id="@+id/progressText" 
       android:paddingRight="10dp"/> 

    <Button android:id="@+id/btnCancel" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:layout_marginBottom="10dip" 
      android:text="@string/button_options_text" 
      android:textColor="@color/button_text_grey" 
      android:drawableTop="@drawable/button_options" 
      android:drawablePadding="-5dip" 
      android:background="@null"/> 

</LinearLayout> 
</LinearLayout> 

Voici un exemple d'un dialogue de progression avec barre de progression, texte et bouton d'annulation. Vous pouvez facilement changer cela en trois boutons. Notez que le bouton est transparent avec l'icône et le texte.

+3

Ce n'est pas le lanceur Sense, c'est sur les roms qui n'ont pas de sens –

+0

Oh oui, je sais que ce sont les boutons du lanceur, mais j'étais juste Je me demande s'il y a quelque chose de similaire à la façon dont ceux-ci fonctionnent dans le SDK. C'est à propos du style des boutons et de leur fonctionnement. En ce moment dans mon application, j'ai des onglets en bas, mais ils ont l'air horrible et sont séparés en onglets. Ce que je cherche est quelque chose comme le lanceur qui fonctionnerait comme des onglets. Les onglets ne disparaissent jamais, ils sont toujours à l'écran et les intentions changent sans avoir à rafraîchir l'écran. Je cherche ce genre de navigation. Y a-t-il quelque chose de intégré qui permettrait cela? – NotACleverMan

+0

Essayez un dialogue personnalisé qui n'est pas modal. Il flotte au-dessus, mais ne bloque pas une activité. Je n'ai aucune expérience de ce qui se passerait si l'activité serait remplacée par une activité différente au sein de la même application. J'ai édité le post pour montrer un exemple. –