#android #android-activity #imageview #android-relativelayout #android-scrollview
#Android #android-активность #просмотр изображений #android-relativelayout #android-scrollview
Вопрос:
я пытаюсь добавить изображения в свой относительный макет с помощью цикла for, но это не работает. Я попытался удалить цикл for и сделать одно изображение длиннее, и вид прокрутки, кажется, работает, но когда я пытаюсь добавить более одного изображения в относительный макет, он добавляет его, но я не могу прокручивать их. Это означает, что я вижу, что есть 5 изображений, но я вижу только верхнюю половину и не могу прокрутить, чтобы увидеть нижнюю половину.
Вот мой XML-файл, который я использую для этого действия.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/ScrollView01"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:scrollbars="none" >
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@ id/MainRelativeLayout"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.tutecentral.tvtimeschedule.app.MainActivity"
android:background="#87CABE"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
</RelativeLayout>
</ScrollView>
</LinearLayout>
И вот действие, которое я использую для добавления изображений
int amountOfChannels = 9;
int paddingTopOfImage = 0;
for(int i = 1; i <= amountOfChannels; i ) {
//ImageView Setup
ImageView imageView = new ImageView(this);
//setting image resource
imageView.setImageResource(R.drawable.channel_1);
//setting image position
imageView.setLayoutParams(new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT));
imageView.getLayoutParams().height = 400;
imageView.getLayoutParams().width = 1000;
imageView.setPadding(10, 10, 10, 10);
imageView.setBackgroundColor(Color.WHITE);
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setY(paddingTopOfImage);
//adding view to layout
RelativeLayout mainRelativeLayout = (RelativeLayout) findViewById(R.id.MainRelativeLayout);
mainRelativeLayout.addView(imageView);
paddingTopOfImage = paddingTopOfImage 450;
}
Ответ №1:
Я не думаю, что вам нужно помещать ScrollView в LinearLayout, потому что ScrollView по умолчанию является LinearLayout . Попробуйте удалить LinearLayout.