Можно ли добавить кнопку в правый угол заголовка приложения?
например, добавить кнопку "обновить" в заголовок "Feed: my feeds"?
Можно ли добавить кнопку в правый угол заголовка приложения?
например, добавить кнопку "обновить" в заголовок "Feed: my feeds"?
Самый простой способ сделать это, IMHO, - избавиться от стандартной строки заголовка (android:theme="@android:style/Theme.NoTitleBar"
в элементе <activity>
в манифесте) и поместить свою собственную "строку заголовка" в начало действия.
Обратите внимание, что стиль "кнопка в строке заголовка" больше iPhone-иш. Android обычно имеет это в меню опций, поэтому пользовательский интерфейс менее загроможден (за счет двух кранов для обновления).
Почему бы вам не попробовать этот
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final boolean customTitle= requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
if ( customTitle ) {
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, Set your layout for title here and mention your button in this layout);
}
final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
if ( myTitleText != null ) {
myTitleText.setText("NEW TITLE");
myTitleText.setBackgroundColor(Color.BLUE);
}
}
Да, это решило проблему, которую я... обрезанная версия ниже...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, Set your layout for title here and mention your button in this layout);
final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
if ( myTitleText != null ) {
/* your code here */
}
}
Я думаю, что лучший подход состоял бы в том, чтобы просто обновить представление, если он активен с помощью Handler. Если вы вытягиваете контент, когда активность возобновляется, то в любое время, когда вы уезжаете и возвращаетесь к просмотру, он будет обновляться. Если вы ожидаете, что пользователи будут сидеть на верхнем уровне представления и должны обновить информацию, вы можете обработать это с помощью обработчика с задержкой, который вызовет ваш метод возобновления и периодически обновит представление, тем самым отрицая необходимость в кнопке.
Здесь - ссылка на документацию для класса обработчика. Я бы начал с изучения базового использования обработчика. Затем проверьте метод sendMessageDelayed, чтобы в конце каждого вызова вы перезапустили обработчик. Также не забудьте создать только новый обработчик, если ваша деятельность является главной активностью и не беспокоит обновление ui, если это не так. Добавление простого флажка isActive для приостановки и возобновления - это достойный способ проверить это.