我有一个buttonView1
和一个customView1
只能画一个小圆圈。在main_layout
仅buttonView1
可见。
如何在点击按钮时以编程方式在customView1
的中心显示buttonView1
。
注意:我们不想改变按钮背景。我们希望在按下按钮时在另一个视图(按钮)上显示新视图(customView或任何其他视图,如editText)。
布局代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/buttonView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="102dp"
android:layout_marginTop="86dp"
android:text="@string/button_text" />
</RelativeLayout>
活动代码
///...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = (Button)findViewById(R.id.buttonView1);
mButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.buttonView1:
// do sth here
break;
default:
break;
}
}
///...
答案 0 :(得分:0)
RelativeLayout.LayoutParams layoutParams =
(RelativeLayout.LayoutParams)positiveButton.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
yourView.setLayoutParams(layoutParams);
答案 1 :(得分:0)
public void MoveView() {
float a = parent_view.getWidth() / 2;
final ValueAnimator positionAnimator =
ValueAnimator.ofFloat(current_view.getX(), a);
positionAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
positionAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float x = (Float) positionAnimator.getAnimatedValue();
current_view.setX(x);
}
});
positionAnimator.setDuration(100);
positionAnimator.start();
}
parent_view是您希望放置current_view的视图。
希望能帮助。