2016-07-21 12 views
1

Ich möchte Imageview Breite und Höhe mit dem gesamten Bildschirm übereinstimmen.Nach der Verwendung von Layout Inflater, um Ansicht aufzublasen Ich bin Layout-Parameter auf der Ansicht einstellen.Aber die Höhe des Bildes deckt nicht den gesamten Bildschirm.Hier ist der Code:Einstellung LayoutParams programmatisch nicht funktioniert

LayoutInflater mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View itemView = mLayoutInflater.inflate(R.layout.viewpager, container, false); 
    itemView.setLayoutParams(new ViewGroup.LayoutParams(
      ViewGroup.LayoutParams.MATCH_PARENT, 
      ViewGroup.LayoutParams.MATCH_PARENT)); 

    ImageView imageView = (ImageView) itemView.findViewById(R.id.viewpager_image); 
    /*imageView.setLayoutParams(new LinearLayout.LayoutParams(
      LinearLayout.LayoutParams.MATCH_PARENT, 
      LinearLayout.LayoutParams.MATCH_PARENT));*/ 
    imageView.setImageResource(mResources[position]); 
    container.addView(itemView); 
    return itemView; 

diese meine Breite Doing die Bildschirmgröße ist passend, aber Höhe wird passend nicht Fernseher.Die Layout i am Aufpumpen hat Linear Layout (Breite, Höhe - MATCH_PARENT) und sein Kind Bildansicht (Breite, Höhe - MATCH_PARENT). Ich weiß nicht, was ich hier falsch mache. Bitte helfen. Danke.

+0

Haben Sie überprüft, ob die Höhe des Imageview ist die Bildschirmgröße Einpassen und nicht das eigentliche Bild ?. Versuchen Sie, scaleType auf FitXY in der Bildansicht zu setzen? –

+0

@ Dr.aNdRO ja, es funktionierte mit der Einstellung scaleType .. Danke – andy

Antwort

1

Fügen Sie diese Zeile im Code

imageView.setScaleType(ScaleType.FIT_XY); 

oder

imageView.setScaleType(ScaleType.CENTER); 

dieses Probieren Sie es arbeiten kann

1
DisplayMetrics displaymetrics = new DisplayMetrics(); 
    //if in activity then use 
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
    //if in adapter then use 
    context.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
    //if in fragment then use 
    getActivity().getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
    int width = displaymetrics.widthPixels; 
    int height = displaymetrics.heightPixels; 
    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(width, height); 
    imageView.setLayoutParams(layoutParams); 
Verwandte Themen