【问题标题】:Padding not working Android填充不起作用Android
【发布时间】:2012-08-02 17:10:05
【问题描述】:

以下代码来自我为我的应用程序设计的布局。问题是,Button 与纯文本框重叠,因此我在按钮代码中添加了填充,如下所示,但预览仍显示 Button 与文本框重叠。什么是问题?我错过了什么吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="100"
android:padding="25dp" >

<ScrollView 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="30"
>

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
>
<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" >

    <requestFocus />
</EditText>

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />

<TextView
    android:id="@+id/textView5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText5"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />

<TextView
    android:id="@+id/textView6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText6"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />
</LinearLayout>
</ScrollView>

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:layout_weight="40">
<Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="20dp"
    android:text="Button" />
</LinearLayout>

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="30"
    android:orientation="vertical">
<AnalogClock
    android:id="@+id/analogClock1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />
</LinearLayout>

感谢您的帮助!

【问题讨论】:

    标签: android xml layout


    【解决方案1】:

    您似乎想分离两个视图。您应该在您的视图中使用边距而不是填充。

    android:layout_marginLeft="10dp"
    

    您可以根据需要在左、右、上、下设置边距。

    【讨论】:

    • 因为 Padding 在视图内部。边距在视图之外。看到这个链接..stackoverflow.com/a/4619943/519718
    • 并且你不应该在 Layout 标签中提供填充.. 将它们提供给布局内的视图..
    • 但我正在关注的教程说,我们可以在线性布局内赋予填充权重。就像在这种情况下一样。
    【解决方案2】:

    你也可以使用 Space,但它只适用于 4.0 及更高版本。

       <Space
            android:layout_width="match_parent"
            android:layout_height="24dp" />
    

    【讨论】:

      【解决方案3】:

      如果你为每个项目采取单独的线性布局并放置填充会更好。

      <LinearLayout>
          <ScrollView>
          <LinearLayout>
              <LinearLayout>
                  <TextView>
                  <EditText>
              </LinearLayout>
              <LinearLayout>
                  <TextView>
                  <EditText>
              </LinearLayout>
              <LinearLayout>
                  <TextView>
                  <EditText>
              </LinearLayout>
          </LinearLayout>
           </ScrollView>
           <LinearLayout>
              <Button>
           </LinearLayout>
           <LinearLayout>
              <AnalogClock>
           </LinearLayout>
      </LinearLayout> 
      

      【讨论】:

        猜你喜欢
        • 2016-04-21
        • 1970-01-01
        • 2018-01-19
        • 2014-10-12
        • 1970-01-01
        • 1970-01-01
        • 2014-10-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多