我试图从FrameLayout
tutorial
http://javatechig.com/android/android-framelayout-example
它会在imageView
中添加一个FrameLayout
并尝试将图片置于中心位置
android:scaleType="centerCrop"
但是它没有工作 图像显示如下
这里是activity_main.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/ic_launcher" />
</FrameLayout>
这是类文件
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
是否需要更换一些新属性? 图像在相对布局中很好地对齐,但在框架布局中没有对齐。任何建议?
答案 0 :(得分:2)
@ user3734952:FYI
android:layout_gravity="center"
是布局参数。并非所有View Groups都支持此Layout Param。请参阅文档以了解特定视图组支持哪些布局参数。线性布局确实支持android:layout_gravity
布局参数。将对象放在其容器中心的垂直和水平轴上,而不是更改其大小。
为了更好的方法,请添加android:adjustViewBounds="true"
。如果您希望ImageView调整其边界以保持其drawable的宽高比,请将其设置为true。
答案 1 :(得分:1)
将布局重力设置为imageView。
android:layout_gravity="center"
取决于你可以给予的要求&#34; layout_gravity&#34;像:
center_vertical or center_horizontal.
答案 2 :(得分:1)
scaleType
并不意味着图像在其父布局中的位置,而是如何将图像放置在其自己的边界布局中。见ScaleType link
如果您想调整左侧,底部或中心的对齐方式,可以在ImageView中使用android:layout_gravity
或在其父级布局中设置android:gravity
。
答案 3 :(得分:0)
试试这个
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:scaleType="centerCrop"
android:src="@drawable/ic_launcher" />