2014-11-24 1 views
-1

Я очень новичок в программировании на Android. Я здесь, потому что хочу твоей помощи. Im проектируя деятельность для моей диссертации.2 Рамки/макет в 1 Упражнение

Heres the Image

Я хочу, чтобы иметь активность, которая имеет 2 кадра/Layout. Верхняя рамка имеет кнопки, нижняя рамка будет отображать что-то, когда я нажимаю кнопку на верхнем фрейме.

Что я использовал бы, чтобы это произошло?

Заранее спасибо.

+0

Сначала вы должны попробовать. тогда, если у вас возникла проблема. отправьте свой код, чтобы получить справку. – hasan83

+0

@ hasan83 Я не знаю, как его запустить. –

+0

Я думаю, что вы должны прочитать некоторые основы для разработки Java и Android. – Opiatefuchs

ответ

1

Вот полное решение:

step1: создать файл main_layout.xml в папку макета:

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:gravity="bottom"> 

     <Button 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="New Button" 
      android:id="@+id/button1" 
      android:layout_marginLeft="20dp" 
      android:layout_marginRight="20dp"/> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"> 
     <Button 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="New Button" 
      android:id="@+id/button2" 
      android:layout_marginLeft="20dp" 
      android:layout_marginRight="20dp"/> 
    </LinearLayout> 
</LinearLayout> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1"> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:text="New Text" 
     android:id="@+id/textView" /> 
</LinearLayout> 

step2: создать MainActivity:

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 


public class MainActivity extends Activity { 

private View mBtn1; 
private View mBtn2; 
private TextView mTxt; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_layout); 

    mBtn1 = findViewById(R.id.button1); 
    mBtn2 = findViewById(R.id.button2); 
    mTxt = (TextView)findViewById(R.id.textView); 

    mBtn1.setOnClickListener(mBtnClickListener); 
    mBtn2.setOnClickListener(mBtnClickListener); 

} 

View.OnClickListener mBtnClickListener = new View.OnClickListener() { 

    /** 
    * This is all sync because we want to have only one event at a time 
    * @param v 
    */ 
    @Override 
    public synchronized void onClick(View v) { 

     switch (v.getId()) { 
      case R.id.button1: 
       mTxt.setText("button1"); 
       break; 
      case R.id.button2: 
       mTxt.setText("button2"); 
       break; 

     } 
     } 
    } ; 
    } 

STEP3 : добавьте активность в свой AndroidManifest.xml:

<activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
+0

OMG, спасибо, сэр .. Большая помощь. –

2

Вы можете разделить макет пополам с помощью LinearLayout и layout_weight параметров, например:

<LinearLayout 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

    <FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1"></FrameLayout> 

    <FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1"></FrameLayout> 

</LinearLayout> 

layout_weight функции параметров в качестве приоритета в определении того, кто получает пространство, учитывая другой Дайте описание приведет к какой-либо из FrameLayouts в заполните весь родитель. Вы можете найти еще сообщения от documentation.

+0

почему -1? ... лучше прокомментировать причину, так как позволить кому-то в темноте ... – Opiatefuchs

+0

Могу ли я использовать scrollView во втором ** FrameLayout ** Вправо? –

+0

Если снаружи нет ScrollView - да. – atok

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