PDA

View Full Version : مشکل با تولبار Toolbar



mahdisaraei
جمعه 13 آذر 1394, 21:10 عصر
ا سلام . با بزرگ شدن پروژم سعی کردم کلاس هایی با کاربرد های جدا تعریف کنم . حالا با چند تا کلاس مشکل دارم .در اکتیویتی هام من همیشه یک جور تولبار درست میکنم و این رو یک متد در کلاس اصلی من ( که همه اکتیویتی ها از اون ارس میبردن ) بود . این متد رو به یک کلاس دیگه بردم ولی حالا کار نمیکنه . هر چند با برگردوندن به کلاس قبلی درست میشه . اما میخام بدونم مشکل از کجاست . خلاصه کد ها رو اینجا میزارم تا دوستان کمک کنن .public class SToolbar{


private ViewGroup main_layout;
private View action_bar_view;
private static Context context;
private static LayoutInflater inflater;
private ActionBar actionBar;

public SToolbar(Context _context ,int view_page){
context = _context ;
inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_S ERVICE);
main_layout = (ViewGroup) inflater.inflate(view_page, null);


}

public Toolbar create_custom_toolber(int id_toolbar, int toolbar_layout) {
Toolbar toolbar = (Toolbar) main_layout.findViewById(id_toolbar);
// setSupportActionBar(toolbar);
toolbar.setContentInsetsAbsolute(0, 0);
toolbar.setPadding(0, 0, 0, 20);
toolbar.setTitle("toolbar method");
toolbar.setBackgroundColor(Color.parseColor("#ffaa00"));

return toolbar;

// action_bar_view = inflater.inflate(toolbar_layout, null);


// actionBar = getSupportActionBar();
// actionBar = get_action_bar.get_support_action_bar();
// actionBar.setDisplayShowCustomEnabled(true);
// actionBar.setNavigationMode(ActionBar.NAVIGATION_M ODE_STANDARD);
// actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW _CUSTOM);
// actionBar.setDisplayShowHomeEnabled(false); // remove app icon
// actionBar.setDisplayShowTitleEnabled(false); // remove app title
// actionBar.setDisplayUseLogoEnabled(false);
// actionBar.setCustomView(action_bar_view, new ActionBar.LayoutParams(
// ActionBar.LayoutParams.MATCH_PARENT,
// ActionBar.LayoutParams.MATCH_PARENT));
}


}و در کلاس اکتیویتی :@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


SToolbar toolbar = new SToolbar(this, R.layout.activity_main);
setSupportActionBar(toolbar.create_custom_toolber( R.id.toolbar, R.layout.layout_toolbar_rtl));

}و اینجا اصلا تولبار اصلاح نمیشه .

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"/>