简体   繁体   English

android 将按钮添加到标题栏

[英]android add button to title bar

I am trying to add a button to title bar but I couldn't succeed.我正在尝试向标题栏添加一个按钮,但我无法成功。 I have read many articles about this but they all explain the way that doesn't fit my situation.我已经阅读了很多关于此的文章,但它们都解释了不适合我的情况的方式。 I am using ScrollView to make the screen scrollable.我正在使用 ScrollView 使屏幕可滚动。 but articles suggest me to use linear layout.但文章建议我使用线性布局。 How can I make it scrollable and have a button on the title bar?如何使它可滚动并在标题栏上有一个按钮?

here is my XML这是我的 XML

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#C0C0C0" 
android:id="@+id/sw_layout">
    
<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:orientation="horizontal"
    android:id="@+id/ln_layout">
    
    <TableLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft=<"@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >
        .........................
        .........................
        .........................
    </TableLayout>
 </LinearLayout>
</ScrollView>
        

And in my MainActivity, I have this code....在我的 MainActivity 中,我有这个代码....

LinearLayout ln = (LinearLayout) getWindow().findViewById(R.id.ln_layout);
Button btn = new Button(this);
btn.setText("Test");
ln.addView(btn);

But this doesn't display anything and it doesn't give me any error.但这不会显示任何内容,也不会给我任何错误。 Please give me an idea.请给我一个想法。 how can I add the button to title bar?如何将按钮添加到标题栏?

make title.xml and design your title : place button etc制作 title.xml 并设计您的标题:放置按钮

on activity活动中

super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);

you will access to elements on title the same way you do on main layout .using findviewbyid您将像在主布局上一样访问标题上的元素。使用 findviewbyid

for avoiding some look problems避免一些外观问题

<style name="theme">
    <item name="android:windowTitleBackgroundStyle">@style/themeTitleBackground</item>
    <item name="android:windowTitleSize">65dip</item>
 
</style>
  
<style name="themeTitleBackground"> 
    <item name="android:layout_height">wrap_content</item>
       
    
</style>

inside androidmanifest在androidmanifest里面

 <activity   android:theme="@style/theme" 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM