Кнопка Android, чтобы открыть макет XML - PullRequest
1 голос
/ 20 августа 2011

Привет, я очень новичок в разработке для Android и хочу создать приложение с тремя страницами и главной страницей с кнопками для навигации по различным страницам.Я создал разные xml-страницы и считаю, что мне нужно создать что-то вроде клика, но я не уверен.

Какой java-код мне нужен, что еще мне нужно добавить к обычной кнопке xml и т. Д. Может кто-нибудь показать мне пример для внедрения в мою работу с изображениями, пожалуйста

Этоодна из моих кнопок

<Button
  android:id="@+id/information"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:textColor="#fff"
  android:background="@drawable/custombutton"
  android:text="Information  >"
  android:textSize="18dp"
  android:layout_marginBottom="2dp"
  />

Это единственный java-файл, который у меня есть (добавить к нему или создать новый)

package com.techie.layout;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import reading.festival.guide.R;

public class LayoutPractice extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//makes full screen and takes away title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
//

setContentView(R.layout.linear);
}

}

Другие мои xml-макеты называются карта сайта, информацияи список оригинальных XML называется линейным.

Я надеюсь, что предоставил достаточно информации, чтобы кто-нибудь мне помог, уверен, это очень просто и я глупый

ура

Ответы [ 4 ]

3 голосов
/ 20 августа 2011

Самый простой подход состоит в том, чтобы определить обработчик щелчка в вашем xml с помощью атрибута android:onClick:

<Button
  android:id="@+id/information"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:textColor="#fff"
  android:background="@drawable/custombutton"
  android:text="Information  >"
  android:textSize="18dp"
  android:layout_marginBottom="2dp"
  android:onClick="myClickHandler"
  />

Добавляя это, вы сообщаете Android имя функции в вашей деятельности, которую следует вызывать, когдаваша кнопка нажата.Эта функция должна следовать нескольким правилам.Он должен иметь возвращаемый тип void, принимать только один аргумент, который является View.Следуя приведенному выше примеру, вам нужно добавить в свою активность следующее:

public void myClickHandler(View v){
  //handle the click here
}

Скорее всего, вам потребуется создать отдельные действия для вашей карты сайта, информации и макетов linuep.Не забудьте также объявить эти новые действия в файле manifest.xml.

Допустим, вы создали один с именем InformationActivity.Чтобы запустить его из нашего примера нажатия кнопки, вы должны сделать следующее:

 public void myClickHandler(View v){
       startActivity(new Intent(this, InformationActivity.class);
    }

Для получения дополнительной информации о действиях и пользовательском интерфейсе читайте в Руководстве разработчика Android .

1 голос
/ 20 августа 2011

Вы должны добавить объект кнопки в свой код и добавить новый ClickListener к нему

Button infoButton = (Button) findViewById(R.id.information);
infoButton.setOnClickListener(new OnClickListener(){
    public void onClick(View view){
        // here is your button click logic, for example running another activity (page)
        startActivity(new Intent(LayoutPractice.this, SiteMapActivity.class));
    }   
});

Надеюсь, это поможет. PS. код может быть неправильным, записал его из памяти

1 голос
/ 20 августа 2011

Итак, когда вы говорите «страницы», вы имеете в виду действия.Вам нужно создать упражнение для каждого из файлов макета.

Материал для чтения: http://developer.android.com/guide/topics/fundamentals/activities.html

0 голосов
/ 30 августа 2014
Intent intent = new Intent(this, NewActivity.class);
startActivity(intent);

где NewActivity - это название действия, которое вы хотите отобразить

...