1

メイン レイアウトに Web ビューを設定しましたが、プログラムでサイズを変更できません。Webview は「メイン」レイアウトにあります。彼のコンテントテイナー「layoutA」で同じことをしても解決しない場合は、webview ビューのみを設定する必要があります。ありがとうございました。

protected void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            final RelativeLayout LayoutA = (RelativeLayout)findViewById(R.id.aLayout);
            webviewA = (WebView) findViewById(R.id.webviewA);           

            Handler handler = new Handler();
            final Runnable r = new Runnable()
            {
                public void run() 
                {
                     LayoutParams params = (LayoutParams) webviewA.getLayoutParams();

                      params.height -= 150;

                }
            };

            handler.postDelayed(r, 1000);

ログキャット、

07-06 11:23:21.204: E/AndroidRuntime(13795): FATAL EXCEPTION: main
07-06 11:23:21.204: E/AndroidRuntime(13795): java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams
07-06 11:23:21.204: E/AndroidRuntime(13795):    at com.xxxx.projecte1.webPush$1.run(webPush.java:109)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at android.os.Handler.handleCallback(Handler.java:587)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at android.os.Looper.loop(Looper.java:138)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at android.app.ActivityThread.main(ActivityThread.java:3701)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at java.lang.reflect.Method.invokeNative(Native Method)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at java.lang.reflect.Method.invoke(Method.java:507)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at dalvik.system.NativeStart.main(Native Method)
4

3 に答える 3

0

WebViewでinvalidate()を呼び出します。http://developer.android.com/reference/android/view/View.html(図面セクション)を参照してください

グリッツフロー

于 2012-07-06T09:31:37.107 に答える
0

問題は、インポートされたパッケージ plz check packagee にあります。存在しない場合は、 import android.widget.RelativeLayout などの他の pkg の代わりに追加する必要があります...

 import android.view.ViewGroup.LayoutParams;
于 2012-07-06T09:52:43.953 に答える
0

アクティビティ クラスに RelativeLayout.LayoutParams をインポートしました。

でやってみてください

public void run() 
{
     ViewGroup.LayoutParams params = (ViewGroup.LayoutParams) webviewA.getLayoutParams();
     params.height -= 150;    
}
于 2012-07-06T09:36:06.903 に答える