Ich habe eine HorizontalScrollView mit einem LinearLayout hinzugefügt, Schaltflächen werden programmgesteuert hinzugefügt, um einen Kategorien-Selektor anzuzeigen. Wie werden Schaltflächen in einem LinearLayout in einem HorizontalScrollView korrekt angezeigt?
Dies ist das Ergebnis in einem Emulator mit API 23, 1080x1920 xxhdpi:
Dies ist, wie es mit API 22 in meinem Android-Handy aussieht:
Diese ist mein XML-Code:
<HorizontalScrollView
android:id="@+id/hsvClosetFilter"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_below="@+id/rlt"
android:layout_marginTop="5dp">
<LinearLayout
android:id="@+id/viewCategoryNames"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal" />
</HorizontalScrollView>
Und ich bin Hinzufügen von Schaltflächen programmatisch wie folgt aus:
private void buildCategoryScroll() {
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(230, 80);
layoutParams.setMargins(0, 10, 30, 10);
for (int i=0; i<categoryNames.size(); i++) {
final Button btCategory = new Button(getActivity());
btCategory.setText(categoryNames.get(i));
btCategory.setTextSize(16f);
btCategory.setAllCaps(false);
btCategory.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.colorPrimary));
btCategory.setTextColor(ContextCompat.getColor(getActivity(), R.color.white));
btCategory.setLayoutParams(layoutParams);
btCategory.setTag(i);
viewCategoryNames.addView(btCategory);
}
}
Dank! Diese Arbeit am Emulator und meinem Android! –