- Forum-Beiträge: 3
14.04.2018, 22:27:22 via Website
14.04.2018 22:27:22 via Website
Hi, Ich arbeite momentan an einer Dokumentation für meine Bibliothek und nun bin ich dabei programmatisch neue Views in ein LinearLayout einzutragen. Leider klappt das nicht ganz, da meine zweite View nicht richtig angezeigt wird. Nun stelle ich mir die Frage, warum?
Hier mein Code:
MainActivity:
private void initializeClassLayout() {
int classes = 12;
final LinearLayout classLayout[] = new LinearLayout[classes];
LinearLayout.LayoutParams viewParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
LinearLayout.LayoutParams textParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
String[] allClasses = getResources().getStringArray(R.array.array_all_classes);
String[] classesContentCode = getResources().getStringArray(R.array.array_all_classes_code);
for (int i = 0; i < classes; i++){
classLayout[i] = new LinearLayout(this);
//Set Title
String currTitle = allClasses[i];
TextView title = new TextView(this);
title.setLayoutParams(textParams);
title.setGravity(Gravity.CENTER_HORIZONTAL);
title.setTextSize(20f);
title.setText(currTitle);
//Set Code
String currCode = classesContentCode[i];
TextView code = new TextView(this);
//String beautifulCode = setCodeSyntax(currCode);
code.setLayoutParams(textParams);
code.setTextColor(Color.BLACK);
code.setTextSize(13f);
code.setText(currCode);
//Set View Specs
classLayout[i].setLayoutParams(viewParams);
if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN) {
classLayout[i].setBackgroundDrawable(ContextCompat.getDrawable(this, R.drawable.classes_background) );
} else {
classLayout[i].setBackground(ContextCompat.getDrawable(this, R.drawable.classes_background));
}
classLayout[i].addView(title);
classLayout[i].addView(code);
if (i == 0){
viewParams.setMargins(30, 50, 30, 30);
} else {
viewParams.setMargins(30, 30, 30, 30);
}
classesView.addView(classLayout[i]);
}
}
Strings:
<string-array name="array_all_classes">
<item>Buttons</item>
<item>Textstyles</item>
<item>Colors</item>
<item>Backgrounds</item>
<item>Borders</item>
<item>Radius</item>
<item>Sizes</item>
<item>Transitions</item>
<item>Filters</item>
<item>Links</item>
<item>Navigations</item>
<item>Loaders</item>
</string-array>
<string-array name="array_all_classes_code">
<item><![CDATA[<button class="button btn-normal-filled-dark">Dark Button Filled</button]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-ltr-dark">Dark Button Left to right</button>]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-rtl-dark">Dark Button Right to left</button>]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-ltr-dark">Dark Button Left to right</button>]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-ltr-dark">Dark Button Left to right</button>]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-ltr-dark">Dark Button Left to right</button>]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-ltr-dark">Dark Button Left to right</button>]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-ltr-dark">Dark Button Left to right</button>]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-ltr-dark">Dark Button Left to right</button>]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-ltr-dark">Dark Button Left to right</button>]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-ltr-dark">Dark Button Left to right</button>]]></item>
<item><![CDATA[<button class="button button-dark btn-anim-ltr-dark">Dark Button Left to right</button>]]></item>
</string-array>
LinearLayout:
<LinearLayout
android:id="@+id/layout_classes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"></LinearLayout>
Das ganze sieht dann später so aus (die zweite View klappt nicht ganz):
Ich bedanke mich für jede Hilfe!
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.