android 以编程方式更正视图之间的填充
android correct padding between views programmatically
我以编程方式创建了四个 Textviews 并将其添加到我的 Linearlayout
中。我的线性布局具有 216dp 宽度 和 TextView
我以编程方式创建的宽度和高度为 48 dp。
我想在 TextView
之间添加填充。我写了一些代码,但我收到了这个结果
这是我的代码
for (int i = 0; i < mDigits; i++) {
DigitView digitView = new DigitView(getContext());
digitView.setWidth(valueInPixels);//48dp
digitView.setHeight(valueInPixels);//48dp
digitView.setTextColor(Color.WHITE);
digitView.setTextSize(mDigitTextSize);
digitView.setGravity(Gravity.CENTER);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
digitView.setElevation(mDigitElevation);
}
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
if (i > 0) {
lp.leftMargin = 10;//problem is this line
}
childView.addView(digitView, lp);//childview 216dp
}
如何在视图之间创建正确的填充 programmatically
?
如果有人有解决办法请帮助我
谢谢。
Add padding on view programmatically
此处提供了在 java 代码中创建填充的解决方案。
试试这个,
public void setPadding (int left, int top, int right, int bottom)
view.setPadding(0,padding,0,0);
首先将适当的 android:paddingLeft 添加到我添加的子视图中,如下所示:
<LinearLayout
android:id="@+id/childView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:background="#000"
android:orientation="horizontal">
然后编辑你的代码如下
for (int i = 0; i < 4; i++) {
DigitView digitView = new DigitView(this);
digitView.setWidth(valueInPixels);//48dp
digitView.setHeight(valueInPixels);//48dp
digitView.setTextColor(Color.WHITE);
digitView.setBackgroundColor(Color.YELLOW);
digitView.setTextSize(mDigitTextSize);
digitView.setGravity(Gravity.CENTER);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
digitView.setElevation(mDigitElevation);
}
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.rightMargin = 10;//problem is this line
childView.addView(digitView, lp);//childview 216dp
}
我以编程方式创建了四个 Textviews 并将其添加到我的 Linearlayout
中。我的线性布局具有 216dp 宽度 和 TextView
我以编程方式创建的宽度和高度为 48 dp。
我想在 TextView
之间添加填充。我写了一些代码,但我收到了这个结果
这是我的代码
for (int i = 0; i < mDigits; i++) {
DigitView digitView = new DigitView(getContext());
digitView.setWidth(valueInPixels);//48dp
digitView.setHeight(valueInPixels);//48dp
digitView.setTextColor(Color.WHITE);
digitView.setTextSize(mDigitTextSize);
digitView.setGravity(Gravity.CENTER);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
digitView.setElevation(mDigitElevation);
}
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
if (i > 0) {
lp.leftMargin = 10;//problem is this line
}
childView.addView(digitView, lp);//childview 216dp
}
如何在视图之间创建正确的填充 programmatically
?
如果有人有解决办法请帮助我
谢谢。
Add padding on view programmatically
此处提供了在 java 代码中创建填充的解决方案。
试试这个,
public void setPadding (int left, int top, int right, int bottom)
view.setPadding(0,padding,0,0);
首先将适当的 android:paddingLeft 添加到我添加的子视图中,如下所示:
<LinearLayout
android:id="@+id/childView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:background="#000"
android:orientation="horizontal">
然后编辑你的代码如下
for (int i = 0; i < 4; i++) {
DigitView digitView = new DigitView(this);
digitView.setWidth(valueInPixels);//48dp
digitView.setHeight(valueInPixels);//48dp
digitView.setTextColor(Color.WHITE);
digitView.setBackgroundColor(Color.YELLOW);
digitView.setTextSize(mDigitTextSize);
digitView.setGravity(Gravity.CENTER);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
digitView.setElevation(mDigitElevation);
}
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.rightMargin = 10;//problem is this line
childView.addView(digitView, lp);//childview 216dp
}