#android #xml #android-layout
#Android #xml #android-макет
Вопрос:
Решаемая
У меня есть вид прокрутки, внутри которого есть макет макета ограничения. У меня есть кнопка, которая ограничена нижней частью таблицы, но, похоже, она меняет фон под таблицей на серый. у всех других виджетов, которые я добавил, нет такой же проблемы.
Я удалил внутренний код таблицы, поскольку он не нужен
<ScrollView 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:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@ id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/gaapic" />
<androidx.cardview.widget.CardView
android:id="@ id/homecard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="5dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.8"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@ id/imageView3">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="12dp"
android:padding="12dp"
android:text="@string/recent_news"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@ id/tvhomePageDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="9"
android:gravity="center"
android:text="@string/publish_date"
android:textColor="@color/black"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:lineSpacingMultiplier="1.5"
android:padding="12dp"
android:text="@string/in_news"
android:textSize="13sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<TableLayout
android:id="@ id/tableLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:background="@android:color/white"
android:elevation="90dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@ id/homecard">
<!-- Table Heading -->
<TableRow android:background="@color/teal_200">
</TableLayout>
<TextView
android:id="@ id/tvTimeCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.092"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@ id/tableLayout"
app:layout_constraintVertical_bias="0.589" />
<Button
android:id="@ id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Live"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@ id/tableLayout"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
Ответ №1:
Попробуйте добавить следующее в свой или ScrollView
ConstraintLayout
:
android:background="@android:color/white"
Комментарии:
1. У меня уже установлен фон на белый, только эта часть страницы серая.
2. Я не вижу, где вы установили его на белый. Однако, еще одна вещь, которую вы можете попробовать, это поместить кнопку внутри другого макета (т.Е. Framelayout / Linearlayout) с белым фоном, затем иметь width= parent и height= wrap_content .
3. все еще серый. Кажется, что каждый раз, когда я добавляю после таблицы, пространство между таблицей и новым виджетом становится серым
4. Если вы можете поделиться своим кодом на GitHub, я могу вытащить его и изучить его подробнее для вас. Моя первоначальная мысль по-прежнему заключается в том, что цвет фона Activity / Fragment по умолчанию — серый, поэтому я пытался отредактировать родительские макеты, чтобы они были белыми.
5. Я решил свою проблему, у меня возникла идея поместить таблицу в новый макет от вас, но я не могу поддержать комментарий, так что спасибо. @Shn_Android_Dev
Ответ №2:
Решаемая:
Я решил свою проблему, поместив таблицу внутри другого макета ограничений. Я не знаю, является ли это лучшей практикой, но пока это работает. Спасибо @Shn_Android_Dev
Ответ №3:
Вы пытались добавить .setBackgroundDrawable(null) к вашей кнопке внутри вашего класса?
Пример:
yourButton.setBackgroundDrawable(null);