Nano Hash - криптовалюты, майнинг, программирование

Как добавить значения маржи в раздутый ListView?

Это мой код того, как выглядит каждая строка.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:id="@+id/recipe_container"
    android:layout_margin="12dp"
    android:background="#f1f1f1">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@+id/recipe_name_text_view"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:gravity="center_vertical"
            android:textSize="32sp"
            android:text="DUMMY TEXT"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:gravity="center_vertical"
            android:orientation="horizontal">


            <TextView
                android:id="@+id/recipe_time_text_view"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="DUMMY TEXT"/>

            <TextView
                android:id="@+id/recipe_difficulty_text_view"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="DUMMY TEXT"/>

        </LinearLayout>

    </LinearLayout>


    <ImageView
        android:id="@+id/recipe_thumbnail_image_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/sladice"/>


</LinearLayout>

Как вы можете видеть, у меня установлены поля, если я проверю предварительный просмотр, он также будет показан.

Я наполнил этот список. Это activity_sladice.xml.

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/recipe_list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.android.recepti.Sladice"
    android:background="@color/colorPrimary">

</ListView>

Теперь каждый ряд вместе, между левым, правым, нижним и верхним интервалами нет.

Если я добавлю поля или отступы в список, он будет работать только со всем списком, а не с каждой строкой.

Как это сделать? Я знаю, что могу добавить разделитель между каждой строкой, но мне также нужен интервал справа и слева.

Это метод getView из пользовательского адаптера.

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    View recipeView = convertView;
    ReceptThumbnail recipe = getItem(position);

    // Inflate view if to be inflated
    if (recipeView == null) {
        recipeView = LayoutInflater.from(getContext()).inflate(R.layout.recipe_item, parent, false);
    }

    TextView recipeName = (TextView) recipeView.findViewById(R.id.recipe_name_text_view);
    recipeName.setText(recipe.getName());

    TextView recipeTime = (TextView) recipeView.findViewById(R.id.recipe_time_text_view);
    recipeTime.setText(recipe.getTime());

    TextView recipeDifficulty = (TextView) recipeView.findViewById(R.id.recipe_difficulty_text_view);
    recipeDifficulty.setText(recipe.getDifficulty());

    ImageView recipeImage = (ImageView) recipeView.findViewById(R.id.recipe_thumbnail_image_view);
    recipeImage.setImageResource(recipe.getImageResourceID());
}

  • Не могли бы вы показать код, в котором вы увеличиваете количество просмотров для своих товаров? Метод getView. 03.09.2017
  • Я отредактировал сейчас и добавил метод getview 03.09.2017
  • Хорошо, я решил это. Я пробовал это раньше, но это не сработало, поэтому, возможно, я ошибся или предварительный просмотр студии Android отображается неправильно. Я только что добавил еще один LinearLayout вокруг первого xml с той же высотой и шириной, и теперь он работает. 03.09.2017
  • Также вы можете попробовать переключиться на RecyclerView - он может быть более последовательным в отношении параметров макета самой верхней ячейки. 03.09.2017

Ответы:


1

Если вы хотите добавить поля в ListView, добавьте поля в список. Если вы хотите добавить поля к элементам, добавьте поля к элементам.

Это просто.

Однако я предлагаю вам использовать ConstraintLAyout. И RecyclerView вместо ListView.

03.09.2017

2

Попробуйте использовать отступы в LinearLayout и создайте еще один LinearLayout как дочерний элемент оригинала и переместите в него атрибут фона.

03.09.2017

3

попробуйте установить маржу программно в методе getView, используя метод ниже.

public static void setMarginLeft(View v, int left) {
    ViewGroup.MarginLayoutParams params =   
                                (ViewGroup.MarginLayoutParams)v.getLayoutParams();
    params.setMargins(left, params.topMargin, 
                            params.rightMargin, params.bottomMargin);
}
03.09.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..