Android custom View не растягивается на весь экран для некоторых размеров экрана

Я ожидаю, что мое приложение будет работать в полноэкранном режиме на всех размерах экрана, используя возможности растяжения Android. Я использую только один макет XML.

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <com.nwm.CD.CCanvas_480x320
         android:layout_weight ="1"
         android:fillViewport="true"
         android:id="@+id/cc_320x480"
         android:layout_width="match_parent"
         android:layout_height="match_parent"/>
</LinearLayout>

Но когда я запускаю приложение на WVGA00(480x800), в крайнем правом углу появляется черная полоса шириной около 80 пикселей, и приложение не занимает весь экран.

Класс расширяющий вид

public class CC_480x320 extends View implements Runnable{

    public CricCanvas_480x320(Context context, AttributeSet attrs) {
         super(context, attrs);
     this.context = (CricDhamaka)context;
    }

Любые идеи о том, как заставить его работать в полноэкранном режиме?

2 ответа

Display displayDevice=getWindowManager().getDefaultDisplay();
        int wid=displayDevice.getWidth();
        int hit=displayDevice.getHeight();
LayoutParams lp=new LayoutParams(wid, hit);



yourview.setlayoutParams(lp);



have you tried this ???

math_parent должен использоваться в параметрах корневого макета, а не в дочерних. Предпочитайте использовать fill_parent в ваших дочерних представлениях.

Я не работал с холстом раньше. Но я думаю, что это работает как ImageView. ImageViews на самом деле не отображаются на весь экран, если фактические пиксели изображения меньше, чем пиксели экрана. Если это так, то вы должны использовать масштабирование или соответствующую вещь для холста.

Также, если вы пытаетесь просмотреть не весь холст, а весь экран, попробуйте обновить вашу тему в манифесте. В разделе приложения:

<application android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
... // removes the title bar of every activity in your application and makes it full screen no battery no signal etc
</application>

ОБНОВИТЬ:

Согласно вашему снимку экрана эффект масштабирования. Измените эффект масштабирования вашего холста. Попробуйте поискать, как сделать масштаб вашего холста в соответствии с параметрами макета вашего представления. Удалите свой весовой атрибут и сначала протестируйте

Вопрос: вы добавили что-нибудь еще в свой layout.xml? Нравится вид или что-то?

Другие вопросы по тегам