2011-06-20 3 views
1

Я новичок в разработке Android, и у меня есть вопрос относительно пользовательских представлений и использования xml для настройки вида.Custom View Question

Так я мой код, я имею представление определяется с помощью расширенного класс представления, т.е.

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Display display = getWindowManager().getDefaultDisplay(); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);   
    draw = new DrawView(this, display.getWidth(), display.getHeight(), vibrator); 
    setContentView(draw);//custom view called DrawView 
} 

А в классе DrawView Я выполняю операции с использованием холста.

Мой вопрос,

  1. Могу ли я использовать макеты XML в сочетании с этой точки зрения, что я определил?

  2. Мне нужно добавить несколько кнопок для этого пользовательского представления, как я могу достичь этого в этом сценарии.

спасибо.

ответ

3

Вы можете встроить пользовательский вид внутри макета. Вот пример:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="fill_parent" 
    android:orientation="horizontal" android:background="#FFFFFF"> 
    <ListView android:id="@+id/channelsLogos" android:scrollbars="none" 
     android:layout_height="fill_parent" android:layout_weight=".20" 
     android:layout_width="100dip"> 
    </ListView> 
    <test.poc.CustomScrollView 
     android:id="@+id/scrollViewVertical" android:scrollbars="none" 
     android:layout_weight=".80" android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
    </test.poc.CustomScrollView> 

</LinearLayout> 

CustomScrollView является пользовательским компонентом в пакете test.poc

Убедитесь, что вы используете правильный конструктор, делая это.

+0

Большое спасибо khotmanish, это сработало для меня :) –