在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来表达重力。。?