2013-02-20 2 views
0

У меня есть класс, где я добавляю несколько кнопок в код. Я добавляю эту кнопку, нажимаю на свою вторую кнопку. Я хочу добавить эти кнопки один на второй. Я имею в виду: я нажимаю на кнопку, и первая кнопка добавляет макет, я нажимаю второй раз, и эта вторая кнопка добавляется, но он должен быть первым. Под я имею в виду, что первая кнопка закрыта второй, и я не вижу второго. Я не хочу видеть эту вторую кнопку. Я нажимаю третий раз, а третья кнопка добавляется под второй кнопкой. Как я могу это сделать в коде? Я знаю, как добавлять кнопки, но я не знаю, как сделать первую кнопку выше второго.кнопки и уровни

+0

Это зависит от макет и параметры макета вашего макета и первая кнопка. Можете ли вы показать свой код? Btw. Я бы рекомендовал изменить видимость первой кнопки на INVISIBLE или GONE вместо того, чтобы ставить несколько кнопок друг на друга. – Minsky

+0

Я знаю, что могу использовать Невидимый или ушел, но мне нужно сделать это таким образом. – user1302569

+0

Я вижу, хорошо. Как правило, ваша вторая кнопка будет находиться в том же положении, что и первое, когда вы используете одни и те же параметры - относительно их родителей (LinearLayout). Если бы вы могли разместить свой код, пожалуйста, тогда вам станет понятнее понять вас и, возможно, кто-то может помочь. – Minsky

ответ

0

Я бы посоветовал добавить все кнопки, которые нужно в макете XML, то для кнопок вы не хотите, чтобы он был виден на первой нагрузки добавить следующее:

android:visibility="gone" 

Тогда в вас код, когда вы хотите, чтобы ваша кнопка для просмотра только добавьте следующую строку кода в вашем onClickListener:

// Getting you button form your xml layout 
Button testBtn = (Button)findViewById(R.id.btnTest); 
// Set visibility of button here 
testBtn.setVisibility(View.VISIBLE); 
// To hide the button again simply use this 
testBtn.setVisibility(View.GONE); 
+0

Я не могу этого сделать. Таким образом, мне нужно добавить эти кнопки в линейную компоновку. Я знаю об исчезнувших и невидимых, но мне нужно сделать это таким образом. – user1302569

+0

Хорошо, я не уверен, чего вы пытаетесь достичь, однако вы можете попробовать использовать какой-то частный int, который хранит количество щелчков кнопки, а затем вытаскивает соответствующую кнопку? –

0

Вы можете использовать RelativeLayout для родительского компоновщика. И каждый раз, когда вы нажимаете на кнопку, создать новую Button и добавить его в свой родительский макет с:

addView(YOUR_NEWLY_CREATED_BUTTON, 0) 

функции. Это добавит вашу кнопку в ваш макет в качестве первого ребенка. Это означает, что будет under других кнопками, является потомком вашего Relative Layout

И если ваши created кнопок имеют одинаковый width и height, добавлены кнопки не будут виден

Надеются, что это помогает

Смежные вопросы