2012-04-20 4 views
-1

Мне нужен xml-файл для следующего: у меня есть кнопка-флажок. Когда я нажму на него, на экране появятся еще три кнопки. Как это сделать ?android checkbox

+0

[SO] не «научит меня, как программировать» сайт .. прочитайте правила, подробно описанные в [faq], спасибо – Merlin

ответ

2

Просто добавьте все галочки в макете, так что все они видны, а затем использовать код, как это сделать некоторые видимыми/невидимыми динамически:

findViewById(R.id.checkbox5).setVisibility(View.VISIBLE) 

findViewById(R.id.checkbox5).setVisibility(View.GONE) 

Вы можете установить видимость по умолчанию с помощью android:visibility="gone" в XML

+0

thx для ответа. Как изменить размеры флажков 3 детей, меньших, чем у родителя? – user1222905

+0

Лучше всего разместить новые вопросы для дальнейших вопросов. UI Views в Android сделаны с растровыми изображениями, некоторые растягиваются, но некоторые не будут. Вы можете попробовать использовать layout_height и layout_width для установки размера, но я ожидаю, что с помощью флажков он не будет работать (как и для TextView), и вам нужно будет предоставить свой собственный (меньший) набор изображений, используя drawable (чтобы указать, какое изображение использовать для выбранных и не выбранных) –

2

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

0

Вы можете сделать видимыми новые флажки.

или

Вы можете надуть новые флажки и добавить к желаемому макету.

как ниже код для добавления нескольких изображений

p 

rivate LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); 

          circleLinearLayout.removeAllViews(); 

       while (circlesNeedToDisplay > 0) { 
        ImageView imageView = (ImageView) inflater.inflate(
          R.layout.circle_item, null); 
        circleLinearLayout.addView(imageView); 
        circles.add(imageView); 
        circlesNeedToDisplay--; 
       } 

XML код R.layout.circle_item

<?xml version="1.0" encoding="utf-8"?> 
<ImageView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:paddingTop="10dip" 
     android:background="@drawable/circle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

Используя ту же процедуру, вы можете добавить флажки также.