Sie können dies selbst ausprobieren und ich hoffe, dass es Ihnen hilft, die Ansichten gemäß Ihren Anforderungen zu erhalten-
Erstellen Sie activity_main.xml
Erstellen Sie imagemiddle.xml
In der Hauptaktivität -
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
Und -
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
RelativeLayout rlParent = (RelativeLayout) findViewById(R.id.rlBase);
int height = rlParent.getMeasuredHeight() / 2;
Log.d("Height:", height + "");
rlParent.getLayoutParams().height = height
+ rlParent.getMeasuredHeight();
rlParent.invalidate();// Ändern Sie die Höhe des RelativeLayout programmgesteuert
// Layout-Parameter für das mittlere Bild--
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_HORIZONTAL,
RelativeLayout.TRUE);
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
ImageView ivMiddle = (ImageView) inflater.inflate(
R.layout.imagemiddle, null);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,
RelativeLayout.TRUE);
ivMiddle.setLayoutParams(params);
rlParent.addView(ivMiddle, params);
}
}
Dies ist nicht die genaue Antwort; Aber dies sollte Ihnen helfen, das gewünschte Ergebnis zu erhalten.