相关疑难解决方法(0)

如何在Android应用程序中支持18:9的宽高比?

全新三星Galaxy S8和LG G6手机的纵横比为18:9.这与大多数Android设备支持的16:9的当前宽高比不同.如何处理现有Android应用程序或新创建的应用程序中的新宽高比.

android android-manifest

18
推荐指数
1
解决办法
1万
查看次数

Android:需要在扩展Activity的类中使用onSizeChanged for View.getWidth/Height()

我想使用getWidth()/ getHeight()来获取XML-Layout的宽度/高度.我读过我必须在方法onSizeChanged()中这样做,否则我会得到0(Android:获取屏幕分辨率/像素作为整数值).

但是我想在已经扩展Activity的类中做到这一点.所以我认为不可能让同一个类扩展View.

public class MyClass extends Activity {

    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        ViewGroup xml_layout = (ViewGroup) findViewById(R.id.layout_id);  
        TextView tv = new TextView(this);  
        tv = (TextView) findViewById(R.id.text_view);  
        int layout_height = xml_layout.getHeight();  
        int layout_width = xml_layout.getWidth();
    }  

    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        //Error, because I need to use extends View for class, but I can't do it because I also need extends Activity to use onCreate
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用MyClass扩展Activity我可以使用onCreate但不能使用onSizeChanged.
如果我使用MyClass …

android

17
推荐指数
3
解决办法
4万
查看次数

标签 统计

android ×2

android-manifest ×1