Java 在页面底部显示ImageView的布局
我在活动中使用折叠工具栏/滚动视图。但是我的图像(.jpg)总是显示在页面底部,但我希望它位于折叠工具栏下 我尝试了以下方法: 设置gravity=top、match\u parent、fill\u parent、android:layout\u lower,更改appbarlayout高度,但都没有解决上述问题 这里是一个截图: night_rui.xml BaseActivity.java如果需要:Java 在页面底部显示ImageView的布局,java,android,Java,Android,我在活动中使用折叠工具栏/滚动视图。但是我的图像(.jpg)总是显示在页面底部,但我希望它位于折叠工具栏下 我尝试了以下方法: 设置gravity=top、match\u parent、fill\u parent、android:layout\u lower,更改appbarlayout高度,但都没有解决上述问题 这里是一个截图: night_rui.xml BaseActivity.java如果需要: public abstract class BaseActivity extends Ap
public abstract class BaseActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
private Toolbar mActionBarToolbar;
private DrawerLayout mDrawerLayout;
protected NavigationView mNavigationView;
private ActionBarDrawerToggle mToggle;
/**
* Helper method that can be used by child classes to
* specify that they don't want a {@link Toolbar}
* @return true
*/
protected boolean useToolbar() {
return true;
}
/**
* Helper method to allow child classes to opt-out of having the
* hamburger menu.
* @return
*/
protected boolean useDrawerToggle() {
return true;
}
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
getActionBarToolbar();
setupNavDrawer();
}//end setContentView
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Global methods as
/*
mImageLoader = new ImageLoader(this);
mHandler = new Handler();
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
sp.registerOnSharedPreferenceChangeListener(this);
...
*/
}
protected Toolbar getActionBarToolbar() {
if (mActionBarToolbar == null) {
mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar);
if (mActionBarToolbar != null) {
// Depending on which version of Android you are on the Toolbar or the ActionBar may be
// active so the a11y description is set here.
mActionBarToolbar.setNavigationContentDescription(getResources()
.getString(R.string.navdrawer_description_a11y));
//setSupportActionBar(mActionBarToolbar);
if (useToolbar()) { setSupportActionBar(mActionBarToolbar);
} else { mActionBarToolbar.setVisibility(View.GONE); }
}
}
return mActionBarToolbar;
}
private void setupNavDrawer() {
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
if (mDrawerLayout == null) {
return;
}
// use the hamburger menu
if( useDrawerToggle()) {
mToggle = new ActionBarDrawerToggle(
this, mDrawerLayout, mActionBarToolbar,
R.string.navigation_drawer_open,
R.string.navigation_drawer_close);
mDrawerLayout.setDrawerListener(mToggle);
mToggle.syncState();
}
else if(useToolbar() && getSupportActionBar() != null) {
// Use home/back button instead
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(ContextCompat
.getDrawable(this, R.drawable.abc_ic_ab_back_mtrl_am_alpha));
}
mNavigationView = (NavigationView) findViewById(R.id.nav_view);
mNavigationView.setNavigationItemSelectedListener(this);
}
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
switch (id) {
case R.id.nav_1:
createBackStack(new Intent(this, MyHome.class));
break;
case R.id.nav_2:
createBackStack(new Intent(this, MyTour.class));
break;
case R.id.nav_3:
createBackStack(new Intent(this, MyTranslator.class));
break;
case R.id.nav_4:
createBackStack(new Intent(this, MySettings.class));
break;
case R.id.nav_5:
createBackStack(new Intent(this, MyAbout.class));
break;
}
closeNavDrawer();
overridePendingTransition(R.anim.enter_from_left, R.anim.exit_out_left);
return true;
}
protected boolean isNavDrawerOpen() {
return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(GravityCompat.START);
}
protected void closeNavDrawer() {
if (mDrawerLayout != null) {
mDrawerLayout.closeDrawer(GravityCompat.START);
}
}
/**
* Enables back navigation for activities that are launched from the NavBar. See
* {@code AndroidManifest.xml} to find out the parent activity names for each activity.
* @param intent
*/
private void createBackStack(Intent intent) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
TaskStackBuilder builder = TaskStackBuilder.create(this);
builder.addNextIntentWithParentStack(intent);
builder.startActivities();
} else {
startActivity(intent);
finish();
}
}
}//end BaseActivity
尝试更改AppBarLayout的高度。在AppBarLayout中添加主题
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="256dp"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
这是代码,对我有用:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="eb.collapsetoolbarlayout.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="256dp"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapse_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:fitsSystemWindows="true">
<ImageView
android:id="@+id/bgheader"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:fitsSystemWindows="true"
android:background="@drawable/wallpaper2"
app:layout_collapseMode="pin" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="parallax"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
你真的认为appbar的高度是256 dp吗?@VivekMishra正在折叠的工具栏是的,我试图将其更改为50 dp,但图像仍在底部打开。如果你真的这样认为,那么你的问题就没有解决方案了。唯一的办法是将它的高度降低到56 dpi编辑了dp,但它不起作用,我更新了我的新.xml和屏幕快照谢谢你的回复,但问题仍然存在,仍然显示在屏幕底部,我必须向上滚动才能查看图像感谢@Ekta Bhawsar的建议,但图像仍然显示在屏幕底部,这是因为您在折叠工具栏布局之外使用了ImgaeView。请在折叠工具栏布局中写入ImageView的代码。我将编辑我的答案并编写正确的代码。
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="256dp"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
android:theme="@style/AppTheme.AppBarOverlay"
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="eb.collapsetoolbarlayout.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="256dp"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapse_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:fitsSystemWindows="true">
<ImageView
android:id="@+id/bgheader"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:fitsSystemWindows="true"
android:background="@drawable/wallpaper2"
app:layout_collapseMode="pin" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="parallax"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>