将边距设置为 "standalone" 视图
Set margin to "standalone" view
这可能只是不好的做法,但 android gui 一如既往地让我感到沮丧。我在 res/layout:
下有一个名为 primary_button 的独立视图
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/primary_button"
android:textColor="@color/light_warm_gray"/>
及其在 res/drawable 下的自定义背景 "primary_button" 形状:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/light_olive" />
<corners android:radius="10dp"/>
<size android:height="40dp" android:width="40dp" />
</shape>
现在的问题是,当我将 layout_margin 设置为 10dp 时,没有设置任何内容,因为那时我使用该行进行膨胀:
Button b = (Button)View.inflate(this, R.layout.primary_button, null);
它没有布局父级(显然需要设置布局参数)。我想要整洁的代码,并且一直在代码中设置 *Layout.LayoutParams 很痛苦。
形状内边距和按钮内边距不是我想要的,而是它们的目的。 (在那种情况下,他们只是扩大了按钮的形状)
我想到的另一种方法是在其周围设置零字母笔划,但这是一个糟糕的解决方案。
我想知道股票按钮如何处理这个问题。我的意思是他们只是在它们之间留出一个很好的边距(大约 15dp?)而不必设置布局参数。这不应该以某种方式发生在自定义视图中吗?
尝试以下操作:
View.inflate(this, R.layout.primary_button, parentView);
我想有一个稍后调用的添加视图方法。尝试保留和删除它。
这可能只是不好的做法,但 android gui 一如既往地让我感到沮丧。我在 res/layout:
下有一个名为 primary_button 的独立视图<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/primary_button"
android:textColor="@color/light_warm_gray"/>
及其在 res/drawable 下的自定义背景 "primary_button" 形状:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/light_olive" />
<corners android:radius="10dp"/>
<size android:height="40dp" android:width="40dp" />
</shape>
现在的问题是,当我将 layout_margin 设置为 10dp 时,没有设置任何内容,因为那时我使用该行进行膨胀:
Button b = (Button)View.inflate(this, R.layout.primary_button, null);
它没有布局父级(显然需要设置布局参数)。我想要整洁的代码,并且一直在代码中设置 *Layout.LayoutParams 很痛苦。
形状内边距和按钮内边距不是我想要的,而是它们的目的。 (在那种情况下,他们只是扩大了按钮的形状)
我想到的另一种方法是在其周围设置零字母笔划,但这是一个糟糕的解决方案。
我想知道股票按钮如何处理这个问题。我的意思是他们只是在它们之间留出一个很好的边距(大约 15dp?)而不必设置布局参数。这不应该以某种方式发生在自定义视图中吗?
尝试以下操作:
View.inflate(this, R.layout.primary_button, parentView);
我想有一个稍后调用的添加视图方法。尝试保留和删除它。