Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中单击按钮时,在按钮中提供右边距_Android - Fatal编程技术网

在android中单击按钮时,在按钮中提供右边距

在android中单击按钮时,在按钮中提供右边距,android,Android,我有一个屏幕,我在一个垂直的线性布局中显示五个按钮。 此线性布局位于相对布局内,并与右上角对齐。 现在我需要的是,当点击任何按钮时,它应该向左移动,而其他按钮保持在原始位置。 我试图给左边缘的按钮被点击,但问题是所有的按钮都在移动,而不仅仅是那个 这是密码 final LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRA

我有一个屏幕,我在一个垂直的线性布局中显示五个按钮。 此线性布局位于相对布局内,并与右上角对齐。 现在我需要的是,当点击任何按钮时,它应该向左移动,而其他按钮保持在原始位置。 我试图给左边缘的按钮被点击,但问题是所有的按钮都在移动,而不仅仅是那个

这是密码

 final LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
             LinearLayout.LayoutParams.WRAP_CONTENT,     LinearLayout.LayoutParams.WRAP_CONTENT);
    layoutParams.rightMargin = 20;

    mColorButton.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            fillDataList(1);
            mIsClicked = true;
            //[start] setting the colour of button
                    mColorButton.setBackgroundResource(R.drawable.yellow_stick) ;
                mColorButton.setLayoutParams(layoutParams);
                    mPatternButton.setBackgroundResource(R.drawable.brown_stick);
                    mDistributionButton.setBackgroundResource(R.drawable.brown_stick);
                    mShapeButton.setBackgroundResource(R.drawable.brown_stick);
                    mLesionButton.setBackgroundResource(R.drawable.brown_stick);
            //[end] setting the colour of button
        }           
    });

也许这就是问题所在:

默认情况下,所有按钮都是左对齐的,当您为
按钮提供右边距时,它会扩展其父布局大小。父对象会与其子对象一起自我扩展。所以所有的
按钮都向左移动了


尝试用XML或代码为所有
按钮
android:layout\u gravity=“right”

您的逻辑绝对正确。父对象确实会自行展开。但是你提供的解决方案不起作用,你是用XML还是java来表达重力。。?