我使用自定义的webview如下
<merge
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:MyWebView="http://schemas.android.com/apk/res/com.mds.android.mireader.webview" android:background="#FFFFFF" android:layout_height="fill_parent" android:layout_width="fill_parent">
<com.mds.android.mireader.webview.MyWebView
xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myweb" **android:layout_width="318px"** android:layout_height="fill_parent" > </com.mds.android.mireader.webview.MyWebView>
Run Code Online (Sandbox Code Playgroud)
我做了一些奇怪的事情,因为我需要满足以下条件
条件:webview宽度应始终可以被3整除
所以我不能在上面的xml文件中给出固定值或fill_parent.例如,如果我给fill_parent它适用于肖像(假设HVGA模拟器的纵向宽度= 480,可被3整除),但没有成功的景观(bcz景观宽度) 800不能被3整除.
解决方案应该适用于方向更改和设备更改"
我正在努力解决1或2像素值的差异,如果我满足这个条件,它将被解决.TIA ....
HI,
您可以使用以下代码获取屏幕的高度和宽度:
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;
Run Code Online (Sandbox Code Playgroud)
现在你有宽度可以检查它是否可被3整除.如果是,那么很好,否则你可以从原始宽度中减去模数(宽度%3)并将其设置为webview的宽度.
以编程方式添加视图:
示例XML:
<LinearLayout (define id:testLayout, width, height here> </LinearLayout>
Run Code Online (Sandbox Code Playgroud)
Java代码:
LinearLayout linLayout = (LinearLayout) findViewById(R.id.testlayout);
// create an object of your webview and set all the properties you want like background color etc.
MyWebView myWebView = new MyWebView();
linLayout.addView(myWebView, new LinearLayout.LayoutParams(<my calculated width>, LayoutParams.FILL_PARENT);
Run Code Online (Sandbox Code Playgroud)
PS:您不必在XML文件中添加webview对象."addView"功能会将您的webview添加到线性布局对象中.
希望这可以帮助!!
| 归档时间: |
|
| 查看次数: |
14594 次 |
| 最近记录: |