0

EDIT: keine 3rd-Party-Bibliotheken bitte

ich die folgende Wirkung erzielen will, aber ich bin kämpfen, um eine generische Lösung für Geräte zu entwerfen, mit unterschiedlichen Bildschirmgrößen.Titelbild Teil

Ein häufiger Effekt in Lernprogrammen verwendet. Dieses Beispiel wurde von der PlayStation Android-Anwendung (Mitteilung des transparente Kreis in der Avatar) genommen:

Effect image

Wie würden Sie diesen Ansatz? Gibt es ein Tool, das das Betriebssystem erlaubt?

Danke.

+0

Hallo suchen Sie so etwas wie dieses https://github.com/amlcurran/ShowcaseView – RameshJaga

Antwort

0

Zum Beispiel. Sie müssen dazu Ihre eigene benutzerdefinierte Überlagerungsansicht erstellen.

public class MainActivity extends Activity { 

private ImageView mOverLayImage; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final Dialog overlayInfo = new Dialog(MainActivity.this); 
    overlayInfo.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    overlayInfo.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
    overlayInfo.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 
    overlayInfo.setContentView(R.layout.overlay_view); 
    overlayInfo.show(); 

    mOverLayImage = (ImageView) overlayInfo.findViewById(R.id.over_lay_image); 
    mOverLayImage.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) {     
      overlayInfo.cancel(); 
     } 
    });   
} 
} 

Überprüfen Sie auch this und this aus.

Hoffe das beantwortet Ihre Frage.

+1

Dies sollte ein Kommentar sein !! – Piyush

+0

@Piyush Danke für die Information. Ich habe bereits das gleiche und keine Antwort kommentiert. Also habe ich das gleiche wie die Antwort erwähnt. – RameshJaga

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/16082810) –

0

Sie können die Fenstergröße überprüfen und entsprechend können Sie Breite und Höhe programmgesteuert festlegen.

Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 

Sie auch Größe in Fragment auch erhalten können:

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); 
Display display = wm.getDefaultDisplay(); 
+0

Dies erklärt nicht, wie man etwas bedeckt. – JonZarate