Android:为什么我的布局背景图像放大并模糊?

时间:2016-07-21 10:49:20

标签: android xml

我正在制作一个简单的聊天应用程序,我制作了.9.png图片作为语音泡泡。这是消息项布局XML的一部分(用户发送的气泡):

<LinearLayout
    android:id="@+id/right_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:background="@drawable/bg_send">

    <TextView
        android:id="@+id/right_msg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_margin="10dp"
        android:textColor="@color/abc_primary_text_material_dark"/>

</LinearLayout>

@drawable/bg_send .9.png处的102px * 102px app\res\文件。我认为应该在我的5&#34; 1920 * 1080手机。但它比它应该更大,并且导致模糊。

This pic is 1:1

如果我想按照自己的意愿做什么,我该怎么办?

3 个答案:

答案 0 :(得分:3)

而不是使用.9.png而是使用可绘制的图像。以下是满足您要求的xml代码。

<强> RES /抽拉/ bg_textview.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    <solid android:color="#607D8B"/>
    <corners android:radius="30dp"/>
</shape>

答案 1 :(得分:0)

图像拉伸到LinearLayout的大小(为背景)。 TextView周围的边距使LinearLayout更大。将android:layout_margin="10dp"属性移动到LinearLayout以在气泡周围留出边距。

答案 2 :(得分:0)

试试这个

<input type="text" id="number"/>
<input type="button" value="create button" onclick="createbtn()"/> 
<div class="buttons"></div>

<script>
function createbtn() 
{
 var buttons_container = document.getElementsByClassName("buttons")[0];
 var n=document.getElementById("number").value;

 buttons_container.innerHTML = '';

 for(i=1;i<=n;i++)
 {
  var x = document.createElement("INPUT");
  x.setAttribute("type", "button");
  x.setAttribute("value", i);
  x.setAttribute("id","x"+i);
  buttons_container.appendChild(x);
  x.addEventListener('click',(function(i_local_copy){return function()
  {rotate(i_local_copy);};})(i));
 } 

}

 function rotate(p)
 {  
  var n=document.getElementById("number").value;
  var j=n;
  var k=0; 
  for(i=n;i>p;i--)
  {
   document.getElementById("x"+i).value=i-p;
  }
  for(i=1;i<=p;i++)
  {
   document.getElementById("x"+i).value=(j-(p-1))+k; 
   k++;
  }
 }
</script>
祝你好运