您的位置:首页 > 其它

怎么改变自定义toast的width和height

2016-12-31 21:03 393 查看
不知道为什么不能使width的值随意变大。可以改变width的值在400dp以下,如果超过400dp的话,toast的宽度就固定不变了,怎么才能使其变大呢?

toast的layout是这样的。
<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" >

    

    <RelativeLayout 

        android:id="@+id/toast_layout_root"

    android:layout_width="561dp"

    android:layout_height="121dp"  

    android:background="@drawable/bg_toast"

    android:visibility="visible"   >

    <TextView

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:text="@string/hello_world" />

    </RelativeLayout>

</RelativeLayout>


源代码是这样的
@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

    

    Toast   sToast = new Toast(getApplication());

        LayoutInflater inflater = getLayoutInflater();

        View layout = inflater.inflate(R.layout.activity_main, null);

        layout.findViewById(R.id.toast_layout_root).setVisibility(View.VISIBLE);

        int tmp = 370;

        if(getResources().getDisplayMetrics().densityDpi==160)

            tmp = 270;

        sToast.setGravity(Gravity.CENTER, 0, tmp);

        sToast.setDuration(Toast.LENGTH_LONG);

        sToast.setView(layout);

        sToast.show();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: