【问题标题】:Android XML Layout Padding Error: activity_horizontal/vertical_marginAndroid XML 布局填充错误:activity_horizo​​ntal/vertical_margin
【发布时间】:2022-01-20 21:01:57
【问题描述】:

您好,我的 xml android 代码有错误,我已经搜索过,但找不到任何信息。我试图将布局填充设置为活动水平/垂直边距,但它都是红色的。请帮忙谢谢。

<?xml version="1.0" encoding="utf-8"?>
<androidx.gridlayout.widget.GridLayout 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/gridLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="activity_horizontal_margin"
    android:paddingTop="activity_vertical_margin" 
    android:paddingRight="activity_horizontal_margin" 
    android:paddingBottom="activity_vertical_margin" 
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />

</androidx.gridlayout.widget.GridLayout>

【问题讨论】:

    标签: android xml


    【解决方案1】:

    我不得不使用诸如 16dp 之类的值(已经知道这一点),似乎那些其他字符串已被删除,因为它们来自旧版本的 android(在 google 上找不到任何表明 api 已更改的信息甚至在 android.developer 网站上)。

    【讨论】:

      【解决方案2】:

      你做错了,填充属性要么采用 4dp、8dp 等值,要么是对存储值的资源文件的引用。

      如果您想使用维度的引用,只需右键单击值目录并选择 New -> Value Resource File ,将其命名为 dimen 并点击确定

      然后将这些添加到文件中:

      <dimen name="activity_horizontal_margin">16dp</dimen>   //change dimensions to your preference
      <dimen name="activity_vertical_margin">16dp</dimen>
      

      然后将填充属性更改为:

      android:paddingLeft="@dimen/activity_horizontal_margin"
      android:paddingTop="@dimen/activity_vertical_margin" 
      android:paddingRight="@dimen/activity_horizontal_margin" 
      android:paddingBottom="@dimen/activity_vertical_margin"
      

      【讨论】:

      • 我使用的教科书是 2015 年的,也许它的 api/sdk 不同?他们没有这样做
      • 你用的是什么sdk版本?
      • 你能告诉我你用的是什么教科书吗??
      • Android 如何编程第二版 Deitel 和 Harvey 我正在使用 Lollipop,但这本书是为旧版本编写的。我在任何地方都找不到有关代码更改的任何信息...
      • 别担心,现在你知道了新方法,试试我的解决方案,看看它是否能解决你的问题。
      【解决方案3】:

      似乎activity_horizontal_margin 没有在任何地方定义,这就是您收到此错误的原因。 一种解决方法可以。

      1. 添加应用级构建gradle

        implementation 'com.intuit.ssp:ssp-android:1.0.6'
        implementation 'com.intuit.sdp:sdp-android:1.0.6'
        
      2. 然后像这样给填充:

        android:paddingLeft="@dimen/activity_horizontal_margin"
        

      【讨论】:

      • 没用。
      【解决方案4】:

      只需删除“androidx.gridlayout.widget”。并使用“

      或添加此依赖项以使用 androidx gridlayout

      implementation 'androidx.gridlayout:gridlayout:1.0.0'
      

      【讨论】:

      • 两者都不起作用
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-19
      • 2013-09-27
      • 1970-01-01
      相关资源
      最近更新 更多