我想在android中设置一个元素的填充,以便在左,右和底部填充中有3.2%,我做了一些研究,但我没有得到任何有趣的东西,这里是我&# 39;我试过了。
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
FrameLayout rel = (FrameLayout) findViewById(R.id.tabcontent);
double width_pas= width*3.2;
double height_pas=height*3.2;
rel.setPadding(width_pas,0,width_pas,height_pas);
但我在setpadding中得到错误,它只接受整数,但我需要设置3.2的边距 希望你能帮助我。
答案 0 :(得分:1)
三件事:
0.032
而不是3.2
。ints
代替floats/doubles
,则最终会使用3%
填充而不是3.2%
。这取决于你要回合什么。如果你用这种方式计算填充:
int width_pas = Math.round(width * 0.032f);
int height_pas = Math.round(height * 0.032f);
你最终会获得高度/宽度的准确度的3.2%。
答案 1 :(得分:0)
您可以使用Guidelines
实现此目的<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.constraint.Guideline
android:id="@+id/startVerticalGuideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.032" />
<android.support.constraint.Guideline
android:id="@+id/endVerticalGuideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.968" />
<android.support.constraint.Guideline
android:id="@+id/bottomGuideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.968" />
<FrameLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#AAA"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@+id/startVerticalGuideline"
app:layout_constraintEnd_toStartOf="@+id/endVerticalGuideline"
app:layout_constraintBottom_toTopOf="@+id/bottomGuideline" />
</android.support.constraint.ConstraintLayout>