La gerarchia è così:Aggiunta LinearLayout programmazione in Android non funziona
- RelativeLayout
- LinearLayout (verticale)
- FrameLayout (peso 5)
- ImageView
- Visualizza (peso 1)
- FrameLayout (peso 5)
- LinearLayout (verticale)
la vista è semplicemente una vista fittizia per distanziare scopo. L'ho fatto nel layout xml e funziona. Ma quando voglio farlo a livello di codice, i seguenti codici non funzionano.
LinearLayout LL = new LinearLayout(this);
ImageView ladder = new ImageView(this);
FrameLayout ladderFL = new FrameLayout(this);
View dummyView = new View(this);
ladder.setImageResource(R.drawable.ladder1);
LL.setOrientation(LinearLayout.VERTICAL);
LayoutParams LLParams = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
LinearLayout.LayoutParams ladderFLParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 0);
ladderFLParams.weight = 5f;
LinearLayout.LayoutParams dummyParams = new LinearLayout.LayoutParams(0,0);
dummyParams.weight = 1f;
FrameLayout.LayoutParams ladderParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
ladder.setLayoutParams(ladderParams);
ladderFL.setLayoutParams(ladderFLParams);
dummyView.setLayoutParams(dummyParams);
LL.setWeightSum(6f);
LL.setLayoutParams(LLParams);
ladderFL.addView(ladder);
LL.addView(ladderFL);
LL.addView(dummyView);
((RelativeLayout) findViewById(R.id.screenRL)).addView(LL);
Non so perché i tuoi codici funzionano anche se ho cancellato quei colori. Forse c'è un problema con la mia disposizione dei codici. Comunque, grazie! – Tommy
@Piyush Gupta: cosa rappresenta screenRL? –