小编Ass*_*nov的帖子

以编程方式将边距设置为ConstraintLayout

在不同情况下,我需要更改由ConstraintLayout构成的工具栏的边距.我试着按照以下方式做到这一点

ConstraintLayout.LayoutParams newLayoutParams = new ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.MATCH_PARENT, ConstraintLayout.LayoutParams.WRAP_CONTENT);
ConstraintLayout.MarginLayoutParams layoutParams = new ConstraintLayout.MarginLayoutParams(newLayoutParams);
layoutParams.setMargins(0, 0, 0, 0);
toolbar.setLayoutParams(newLayoutParams);
Run Code Online (Sandbox Code Playgroud)

但在第二种情况下 layoutParams.setMargins(16, 16, 16, 16); 它并没有改变.所以,有人可以给出其他方式或指出错误.感谢您花时间解决我的问题.

我试图左右使用 newLayoutParams.setMargins(54, 54, 54, 0);这个看跌期权,但我仍然需要在它上面加上保证金.

android android-constraintlayout

9
推荐指数
3
解决办法
9314
查看次数

带有 RecyclerView 的 AlertDialog

我想在我的应用程序中创建包含一些项目列表的自定义对话框。这是我的适配器代码

上下文上下文;ArrayList 状态列表;

public MaritalStatusAdapter(Context context, ArrayList<String> statusList){
    this.context = context;
    this.statusList = statusList;
    Logger.msg("Reg", ":" + statusList.get(0));
}

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View v = LayoutInflater.from(context).inflate(R.layout.spinner_list_item, parent, false);
    Logger.msg("Reg", "here");
    return new ViewHolder(v);
}

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
    holder.item.setText(statusList.get(position));
    Logger.msg("Reg", "here");
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public int getItemCount() {
    return statusList.size();
}

class ViewHolder extends RecyclerView.ViewHolder {
    @BindView(R.id.item)
    TextView item;

    public …
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog android-recyclerview

8
推荐指数
1
解决办法
7144
查看次数

使用 Gradle 更改 Android Studio 中的 BuildConfig 文件

我正在尝试使用Android StudioBuildConfig中的 Gradle 将 URL 添加到我的文件中。所以我将这段代码添加到文件中gradle

buildTypes {
    debug {
        buildConfigField "String", "MIDTRANS_API", '"https://app.sandbox.midtrans.com/snap/v1"'
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试重建我的项目并希望该值将出现在BuildConfig文件中,但事实并非如此。有人可以解释如何正确执行此操作吗?

我的完整gradle文件代码如下

apply plugin: 'com.android.library'

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}
buildTypes {
    debug {
        buildConfigField "String", "DAR_API", '"{some string}"'
        buildConfigField "String", "DAR_API_AUTH", '"{some string}"'
        buildConfigField "String", "MIDTRANS_API", '"https://app.sandbox.midtrans.com/snap/v1"'
    }

    rc {
        minifyEnabled true
        debuggable true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField "String", "DAR_API", '"{some …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin android-buildconfig

6
推荐指数
1
解决办法
3万
查看次数

TextInputLayout 样式

我的习惯有问题TextInputLayout。这是我的代码

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/phone"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:theme="@style/CustomTextInputLayout"
    android:hint="@string/phone_number"
    android:layout_marginTop="8dp"
    android:layout_marginStart="16dp"
    android:layout_marginEnd="16dp"
    app:startIconDrawable="@drawable/account"
    android:background="@color/bg_light_gray"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/page_description">

    <com.google.android.material.textfield.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="?attr/listPreferredItemHeight"
        android:background="@color/bg_light_gray"
        android:inputType="phone"
        android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

这是我的style.xml文件中的代码

<style name="CustomTextInputLayout" parent="Widget.Design.TextInputLayout">
    <item name="errorTextAppearance">@style/ErrorText</item>
    <item name="colorControlNormal">@color/green_txt</item>
    <item name="colorControlActivated">@color/orange</item>
    <item name="colorControlHighlight">@color/orange</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我想将基线颜色设置为TextInputLayout橙色,但现在它是灰色的。另外,我放置了一个图标,其原始颜色为橙色,但放置后变成了深灰色。现在我不明白为什么会发生以及如何解决这个问题。有人可以帮我吗?

android material-design android-textinputlayout material-components-android

6
推荐指数
1
解决办法
7016
查看次数

TextInputLayout 以编程方式设置 startIconDrawable 的颜色

我想以TextInputLayout编程方式为我的启动图标设置开始图标,但我遇到了他的颜色问题。当我设置 drawable 时,它​​的颜色变成灰色,但它的原始颜色是橙色。我知道我可以通过startIconTint在 xml 中使用参数来改变它的颜色,但我想以编程方式改变它的颜色。有人可以帮我弄这个吗。

android material-design android-textinputlayout material-components material-components-android

5
推荐指数
1
解决办法
1615
查看次数