防止图像按钮进入后台

时间:2013-12-31 08:28:21

标签: android

这是我想要旋转的Android ImageButton。

Button partially hidden on rotation

它会旋转,但正如您从屏幕截图中看到的那样,它的一部分会在旋转过程中变为背景/不可见。如何确保ImageButton在整个旋转期间保持完全可见?

这是活动代码:

public class MainActivity extends Activity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageButton imgbt = (ImageButton)findViewById(R.id.mybutton);

        RotateAnimation ra =new RotateAnimation(0, 360);
        ra.setFillAfter(true);
        ra.setDuration(2000);
        imgbt.startAnimation(ra);
    }   
}

和XML:

<LinearLayout
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:orientation="vertical" >

    <ImageButton
        android:id="@+id/mybutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/mybutton" />
</LinearLayout>

5 个答案:

答案 0 :(得分:2)

在LinearLayout中,更改此内容:

android:layout_height="wrap_content"

到此:

android:layout_height="match_parent"

因此,您将确保容器足够大以完全显示图像按钮,即使它是垂直的。

答案 1 :(得分:1)

将您的LinearLayout 身高宽度更改为fill_parent,如下所示:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:gravity="center"
    android:orientation="vertical" >

答案 2 :(得分:1)

您可以使用:

imgbt.bringToFront();

答案 3 :(得分:1)

match_parent 设置为 LinearLayout 高度。

如果您没有使用体重,则不需要包含它。所以改变

<LinearLayout
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:gravity="center"
 android:orientation="vertical" >

答案 4 :(得分:0)

将线性布局的宽度和高度参数更改为fill_parent会导致使用代码:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="horizontal" >

<ImageButton
    android:layout_gravity="center"
    android:id="@+id/mybutton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/mybutton"
   />